GameServer
QuestManager.h
[詳解]
1 #ifndef __QUESTMANAGER_H__
2 #define __QUESTMANAGER_H__
3 
4 #include "Packet/QuestData.h"
5 #include <boost/unordered_map.hpp>
6 
7 class Client;
8 struct QuestStageItem;
9 
14 {
15 
16 private: // 別名定義.
17 
18  typedef boost::unordered_map<u32, QuestData> QuestMap;
19  typedef boost::unordered_map<u32, QuestData *> ActiveQuestMap;
20 
21 public:
22 
23  // コンストラクタ
24  QuestManager(Client *pInClient);
25 
26  // デストラクタ
28 
29  // 追加.
30  void Add(const QuestData &Data);
31 
32  // 受注.
33  void Accept(u32 QuestId);
34 
35  // 破棄.
36  u8 Retire(u32 QuestId);
37 
38  // ステージ進行.
39  void ProgressStage(u32 QuestId);
40 
41  // アンパンを殺害した。
42  void OnKilledAnpan(u32 AreaId);
43 
44  // 進行中か?
45  bool IsActive(u32 QuestId) const { return (ActiveQuests.find(QuestId) != ActiveQuests.end()); }
46 
47  // クリアしているか?
48  bool IsClear(u32 QuestId) const;
49 
50  // ステージ番号を取得.
51  u32 GetStageNo(u32 QuestId) const;
52 
53 private:
54 
55  // クライアント
56  Client *pClient;
57 
58  // クエストマップ
59  QuestMap Quests;
60 
61  // 進行中のクエストマップ
62  ActiveQuestMap ActiveQuests;
63 
64 
65  // 現在のステージ情報を取得.
66  const QuestStageItem *GetCurrentStageData(u32 QuestId) const;
67 
68 };
69 
70 #endif // #ifndef __QUESTMANAGER_H__
u8 Retire(u32 QuestId)
Definition: QuestManager.cpp:45
void OnKilledAnpan(u32 AreaId)
Definition: QuestManager.cpp:119
unsigned char u8
Definition: TypeDefs.h:6
QuestManager(Client *pInClient)
Definition: QuestManager.cpp:16
void Add(const QuestData &Data)
Definition: QuestManager.cpp:22
bool IsClear(u32 QuestId) const
Definition: QuestManager.cpp:146
クエストデータパケット
void ProgressStage(u32 QuestId)
Definition: QuestManager.cpp:63
bool IsActive(u32 QuestId) const
Definition: QuestManager.h:45
void Accept(u32 QuestId)
Definition: QuestManager.cpp:32
クエストデータパケット
Definition: QuestData.h:17
unsigned int u32
Definition: TypeDefs.h:10
~QuestManager()
Definition: QuestManager.h:27
クライアントクラス
Definition: Client.h:26
u32 GetStageNo(u32 QuestId) const
Definition: QuestManager.cpp:154
Definition: QuestStageMaster.h:9
Definition: QuestManager.h:13