YAPOG  0.0.1
Yet Another Pokemon Online Game
World.hpp
Go to the documentation of this file.
1 #ifndef YAPOG_SERVER_WORLD_HPP
2 # define YAPOG_SERVER_WORLD_HPP
3 
4 # include "YAPOG/Macros.hpp"
8 # include "YAPOG/Collection/Map.hpp"
9 # include "YAPOG/Game/ID.hpp"
10 
11 namespace yse
12 {
13  class Map;
14 
15  class World : public yap::World
16  , public yap::IPacketHandler
17  {
19 
20  public:
21 
22  World ();
23  virtual ~World ();
24 
26  void LoadMap (const yap::ID& id);
27 
28  void LoadMaps ();
29 
30  Map& GetMap (const yap::ID& worldID);
31 
34  virtual bool HandlePacket (yap::IPacket& packet);
35  virtual bool SendPacket (yap::IPacket& packet);
36 
37  virtual void AddRelay (yap::IPacketHandler* relay);
38  virtual void RemoveRelay (yap::IPacketHandler* relay);
39  virtual void SetParent (yap::IPacketHandler* parent);
41 
42  private:
43 
44  void AddMap (Map* map);
45  void RemoveMap (const yap::ID& worldID);
46 
47  virtual void HandleUpdate (const yap::Time& dt);
48 
50 
52  };
53 } // namespace yap
54 
55 #endif // YAPOG_SERVER_WORLD_HPP