YAPOG  0.0.1
Yet Another Pokemon Online Game
WorldObjectStateFactory.hpp
Go to the documentation of this file.
1 #ifndef YAPOG_WORLDOBJECTSTATEFACTORY_HPP
2 # define YAPOG_WORLDOBJECTSTATEFACTORY_HPP
3 
4 # include "YAPOG/Macros.hpp"
5 # include "YAPOG/System/String.hpp"
7 # include "YAPOG/Collection/Map.hpp"
8 
9 namespace yap
10 {
12  {
14 
15  public:
16 
18  {
20 
21  public:
22 
23  WorldObjectStateInfo (const String& name, const String& logicalName);
24 
25  const String& GetName () const;
26  const String& GetLogicalName () const;
27  bool IsJoinedTo (const String& state) const;
28 
29  void AddJoin (const String& join);
30 
31  private:
32 
35 
37  };
38 
39  static WorldObjectStateFactory& Instance ();
40 
41  void AddState (const String& state, const String& logicalState);
42  void AddJoin (const String& state, const String& join);
43 
44  WorldObjectStateInfo& GetState (const String& state);
45 
46  private:
47 
50 
52  };
53 } // namespace yap
54 
55 #endif // YAPOG_WORLDOBJECTSTATEFACTORY_HPP