GameServer
AreaManager.h
[詳解]
1 
6 #ifndef __AREAMANAGER_H__
7 #define __AREAMANAGER_H__
8 
9 #include <boost/unordered_map.hpp>
10 #include "AreaBase.h"
11 
12 class Client;
14 
20 class AreaManager : public noncopyable
21 {
22 
23 private: // 別名定義.
24 
25  typedef shared_ptr<AreaBase> AreaSharedPtr;
26  typedef unordered_map<u32, AreaSharedPtr> AreaMap;
27 
28 public:
29 
33  virtual ~AreaManager() {}
34 
39  void Initialize();
40 
47  AreaPtr Get(u32 ID) const;
48 
54  void Poll(int DeltaTime);
55 
63 
64 private:
65 
66  // エリアマップ
67  AreaMap Areas;
68 
69  // 次に発行するインスタンスマップのUUID
70  u32 NextInstanceAreaUuid;
71 
72 
73  // ========== Singleton ===============
74 
75 public:
76 
82  static AreaManager &GetInstance() { return Instance; }
83 
84 private:
85 
86  AreaManager();
87  static AreaManager Instance;
88 
89 };
90 
91 #endif // #ifndef __AREAMANAGER_H__
AreaPtr Get(u32 ID) const
取得
Definition: AreaManager.cpp:41
AreaPtr CreateInstanceArea(u32 AreaId)
インスタンスエリアを生成
Definition: AreaManager.cpp:67
void Initialize()
初期化
Definition: AreaManager.cpp:24
weak_ptr< AreaBase > AreaPtr
Definition: WeakPtrDefine.h:25
unsigned int u32
Definition: TypeDefs.h:10
エリア管理
Definition: AreaManager.h:20
virtual ~AreaManager()
デストラクタ
Definition: AreaManager.h:33
クライアントクラス
Definition: Client.h:26
エリア基底クラス
static AreaManager & GetInstance()
シングルトンインスタンスを取得
Definition: AreaManager.h:82
Definition: MemoryStreamInterface.h:8
void Poll(int DeltaTime)
毎フレームの処理
Definition: AreaManager.cpp:49