GameServer
AnpanAI.h
[詳解]
1 
6 #ifndef __ANPANAI_H__
7 #define __ANPANAI_H__
8 
9 #include "AnpanAIPacketData.h"
10 #include "Hate.h"
11 #include "WeakPtrDefine.h"
12 
13 class Anpan;
14 class AnpanAIStateBase;
15 struct SkillItem;
16 
21 class AnpanAI
22 {
23 
24 public:
25 
30  AnpanAI(Anpan *pInParent);
31 
35  ~AnpanAI();
36 
42  void Poll(int DeltaTime);
43 
49  void ChangeState(AnpanAIStateBase *pNewState);
50 
57  void CreateMovePacketData(const Vector3D &Position, int Time);
58 
64  shared_ptr<AnpanMovePacketData> SweepMovePacketData();
65 
72  void CreateRotatePacketData(const Rotation &Rot, int Time);
73 
79  shared_ptr<AnpanRotatePacketData> SweepRotatePacketData();
80 
85  void SetSendStopPacket() { bIsNeedSendStopPacket = true; }
86 
93 
99  const Hate &GetHate() const { return HateManager; }
100 
105  void Stop();
106 
113  void OnSkillReceived(CharacterPtr pCharacter, const SkillItem *pSkill);
114 
115 private:
116 
117  // 親.
118  Anpan *pParent;
119 
120  // ステート
121  AnpanAIStateBase *pState;
122 
123  // 前のState
124  AnpanAIStateBase *pPrevState;
125 
126  // 移動パケットデータ
127  shared_ptr<AnpanMovePacketData> pMovePacketData;
128 
129  // 回転パケットデータ
130  shared_ptr<AnpanRotatePacketData> pRotatePacketData;
131 
132  // ヘイト管理.
133  Hate HateManager;
134 
135  // 停止パケットを送る必要があるか?
136  bool bIsNeedSendStopPacket;
137 
138 };
139 
140 #endif // #ifndef __ANPANAI_H__
Definition: Rotation.h:5
アンパンAI
Definition: AnpanAI.h:21
shared_ptr< AnpanMovePacketData > SweepMovePacketData()
移動パケットデータの取得
Definition: AnpanAI.cpp:69
weak_ptr< CharacterBase > CharacterPtr
Definition: WeakPtrDefine.h:10
void OnSkillReceived(CharacterPtr pCharacter, const SkillItem *pSkill)
スキルを食らった。
Definition: AnpanAI.cpp:105
const Hate & GetHate() const
ヘイト管理を取得
Definition: AnpanAI.h:99
ヘイト管理クラス
Definition: Hate.h:52
アンパンクラス
Definition: Anpan.h:18
Definition: Vector3D.h:8
void Stop()
停止
Definition: AnpanAI.cpp:99
~AnpanAI()
デストラクタ
Definition: AnpanAI.cpp:26
アンパンAIステート基底クラス
Definition: AnpanAIStateBase.h:19
void CreateRotatePacketData(const Rotation &Rot, int Time)
回転パケットデータの生成
Definition: AnpanAI.cpp:77
void ChangeState(AnpanAIStateBase *pNewState)
ステート切り替え
Definition: AnpanAI.cpp:55
shared_ptr< AnpanRotatePacketData > SweepRotatePacketData()
回転パケットデータの取得
Definition: AnpanAI.cpp:83
アンパンAIのパケットデータ
void Poll(int DeltaTime)
毎フレームの処理
Definition: AnpanAI.cpp:39
AnpanAI(Anpan *pInParent)
コンストラクタ
Definition: AnpanAI.cpp:14
bool SweepSendStopPacketFlag()
停止パケットの送信を取得
Definition: AnpanAI.cpp:91
Definition: SkillMaster.h:9
ヘイト管理クラス
void CreateMovePacketData(const Vector3D &Position, int Time)
移動パケットデータの生成
Definition: AnpanAI.cpp:63
void SetSendStopPacket()
停止パケットデータの設定.
Definition: AnpanAI.h:85