GameServer
SkillTree.h
[詳解]
1 #ifndef __SKILLTREE_H__
2 #define __SKILLTREE_H__
3 
4 #include <boost/unordered_map.hpp>
5 #include "FlexArray.h"
6 
7 class PlayerCharacter;
8 class SkillTreeNode;
9 
13 class SkillTree
14 {
15 
16 private: // 内部構造体定義.
17 
18  // ノード
19  struct Node
20  {
21  // 必要ゴールド
22  u32 Cost;
23 
24  // スキルID
25  u32 SkillId;
26 
27  // 解禁済みか?
28  bool bIsOpened;
29  };
30 
31 private: // 別名定義.
32 
33  typedef boost::unordered_map<u32, Node> NodeMap;
34 
35 public:
36 
37  // コンストラクタ
38  SkillTree(u8 Job);
39 
40  // デストラクタ
42 
43  // 開く
44  bool Open(u32 NodeId);
45 
46  // 既に開かれているか?
47  bool IsOpened(u32 NodeId, bool &bOutOpened) const;
48 
49  // スキルIDを取得.
50  bool GetSkillId(u32 NodeId, u32 &OutSkillId) const;
51 
52  // クライアントに送り付けるノードデータリストを生成.
53  void GenerateNodeDataList(FlexArray<SkillTreeNode> &OutDataList) const;
54 
55 private:
56 
57  // ノードマップ
58  NodeMap Nodes;
59 
60 };
61 
62 #endif // #ifndef __SKILLTREE_H__
SkillTree(u8 Job)
Definition: SkillTree.cpp:7
unsigned char u8
Definition: TypeDefs.h:6
void GenerateNodeDataList(FlexArray< SkillTreeNode > &OutDataList) const
Definition: SkillTree.cpp:48
スキルツリーノードパケット
Definition: SkillTreeNode.h:17
bool Open(u32 NodeId)
Definition: SkillTree.cpp:22
bool IsOpened(u32 NodeId, bool &bOutOpened) const
Definition: SkillTree.cpp:30
~SkillTree()
Definition: SkillTree.h:41
Definition: SkillTree.h:13
unsigned int u32
Definition: TypeDefs.h:10
bool GetSkillId(u32 NodeId, u32 &OutSkillId) const
Definition: SkillTree.cpp:39
プレイヤーキャラクタ
Definition: PlayerCharacter.h:23