GameServer
Hate.h
[詳解]
1 
6 #ifndef __HATE_H__
7 #define __HATE_H__
8 
9 #include <vector>
10 #include "WeakPtrDefine.h"
11 
12 class CharacterBase;
13 
18 struct HateUnit
19 {
20 
21 public:
22 
25 
28 
31 
32  // 揮発ヘイト減衰までの時間.
34 
40  int GetTotal() const { return (VolatileHate + AccumulateHate); }
41 
42 };
43 
44 // ソート用オペレータオーバーロード
45 bool operator >(const HateUnit &Left, const HateUnit &Right);
46 bool operator <(const HateUnit &Left, const HateUnit &Right);
47 
52 class Hate
53 {
54 
55 public:
56 
60  Hate();
61 
65  ~Hate() {}
66 
72  void Poll(u32 DeltaTime);
73 
81  void Add(CharacterPtr pCharacter, int VolatileHate, int AccumulateHate);
82 
88  CharacterPtr GetTop() const;
89 
90 private:
91 
92  // 揮発ヘイト減衰時間.
93  static const int VolatileHateDecayTime;
94 
95  // ヘイトリスト
96  std::vector<HateUnit> HateList;
97 
98 
99  // ソート,
100  void Sort();
101 
102 };
103 
104 #endif // #ifndef __HATE_H__
void Add(CharacterPtr pCharacter, int VolatileHate, int AccumulateHate)
増加
Definition: Hate.cpp:57
int VolatileHate
揮発ヘイト
Definition: Hate.h:27
ヘイト
Definition: Hate.h:18
CharacterPtr pCharacter
キャラクタ
Definition: Hate.h:24
キャラクタ基底クラス
Definition: CharacterBase.h:24
weak_ptr< CharacterBase > CharacterPtr
Definition: WeakPtrDefine.h:10
ヘイト管理クラス
Definition: Hate.h:52
int GetTotal() const
ヘイト合計値を取得
Definition: Hate.h:40
unsigned int u32
Definition: TypeDefs.h:10
void Poll(u32 DeltaTime)
毎フレームの処理
Definition: Hate.cpp:18
Hate()
コンストラクタ
Definition: Hate.cpp:13
~Hate()
デストラクタ
Definition: Hate.h:65
int VolatileHateDecayTimer
Definition: Hate.h:33
int AccumulateHate
累積ヘイト
Definition: Hate.h:30
bool operator<(const HateUnit &Left, const HateUnit &Right)
Definition: Hate.cpp:98
bool operator>(const HateUnit &Left, const HateUnit &Right)
Definition: Hate.cpp:103
CharacterPtr GetTop() const
一番上にいるキャラを取得
Definition: Hate.cpp:82