GameServer
Client.h
[詳解]
1 
7 #ifndef __CLIENT_H__
8 #define __CLIENT_H__
9 
10 #include "TCPConnection.h"
11 #include "Packet/PacketID.h"
12 #include "Script/ScriptExecuter.h"
14 #include "Quest/QuestManager.h"
15 #include "WeakPtrDefine.h"
16 
17 class PacketBase;
18 class ClientStateBase;
19 class PlayerCharacter;
21 
26 class Client : public TCPConnection
27 {
28 
29 public:
30 
35  Client(const shared_ptr<tcp::socket> &pInSocket);
36 
40  virtual ~Client();
41 
47  void SendPacket(PacketBase *pPacket);
48 
54  void ChangeState(ClientStateBase *pNextState);
55 
61  void SetUuid(u32 InUuid) { Uuid = InUuid; }
62 
68  u32 GetUuid() const { return Uuid; }
69 
76  void SetCustomerId(u32 InCustomerId) { CustomerId = InCustomerId; }
77 
83  u32 GetCustomerId() const { return CustomerId; }
84 
91  PlayerCharacterPtr GetCharacter() const { return pCharacter; }
92 
106  void CreateCharacter(u32 CharacterId, const std::string &Name, u8 Job, u32 Level, u32 Exp, u32 Gold, bool bIsGM, u32 RightEquipId, u32 LeftEquipId);
107 
115  void RecvPacket(u8 ID, MemoryStreamInterface *pStream);
116 
122  ScriptExecuter *GetScript() { return &Script; }
123 
129  void SetScriptFlag(int Key);
130 
136  const ScriptFlagManager &GetScriptFlagManager() const { return FlagManager; }
137 
145  void ConvertScriptFlagFromBitFields(u32 BitField1, u32 BitField2, u32 BitField3);
146 
152  const QuestManager &GetQuestManager() const { return QuestMgr; }
153 
159  void AddQuestData(const QuestData &Data);
160 
166  void AcceptQuest(u32 QuestId);
167 
173  void ProgressQuest(u32 QuestId);
174 
181  void OnKilledAnpan(u32 AreaId);
182 
189  u8 RetireQuest(u32 QuestId);
190 
199  u8 BuyItem(u32 ShopId, u32 ItemId, u32 Count);
200 
209  u8 SellItem(u32 ShopId, u32 ItemId, u32 Count);
210 
215  void ExitShop() { Script.ExitShop(); }
216 
217 protected:
218 
224  virtual void OnRecvData(size_t Size);
225 
226 private:
227 
229  shared_ptr<ClientStateBase> pState;
230 
232  u32 Uuid;
233 
235  u32 CustomerId;
236 
238  shared_ptr<PlayerCharacter> pCharacter;
239 
241  ScriptExecuter Script;
242 
244  ScriptFlagManager FlagManager;
245 
247  QuestManager QuestMgr;
248 
249 };
250 
251 #endif // #ifndef __CLIENT_H__
void SetUuid(u32 InUuid)
UUIDをセット
Definition: Client.h:61
unsigned char u8
Definition: TypeDefs.h:6
u32 GetCustomerId() const
カスタマIDを取得.
Definition: Client.h:83
void ChangeState(ClientStateBase *pNextState)
ステート切り替え
Definition: Client.cpp:62
void AcceptQuest(u32 QuestId)
クエスト受注.
Definition: Client.cpp:103
Client(const shared_ptr< tcp::socket > &pInSocket)
コンストラクタ
Definition: Client.cpp:23
void SendPacket(PacketBase *pPacket)
パケット送信.
Definition: Client.cpp:42
PlayerCharacterPtr GetCharacter() const
キャラクタを取得.
Definition: Client.h:91
void ProgressQuest(u32 QuestId)
クエスト進行.
Definition: Client.cpp:109
u32 GetUuid() const
UUIDを取得.
Definition: Client.h:68
void ConvertScriptFlagFromBitFields(u32 BitField1, u32 BitField2, u32 BitField3)
ビットフィールドからスクリプトフラグに変換.
Definition: Client.cpp:91
void SetScriptFlag(int Key)
スクリプトフラグを設定.
Definition: Client.cpp:85
クライアントステート基底クラス
Definition: ClientStateBase.h:20
void AddQuestData(const QuestData &Data)
クエストデータ追加.
Definition: Client.cpp:97
Definition: ScriptExecuter.h:11
void RecvPacket(u8 ID, MemoryStreamInterface *pStream)
パケット受信
Definition: Client.cpp:78
クエストデータパケット
Definition: QuestData.h:17
unsigned int u32
Definition: TypeDefs.h:10
virtual void OnRecvData(size_t Size)
データを受信した。
Definition: Client.cpp:192
u8 SellItem(u32 ShopId, u32 ItemId, u32 Count)
アイテム売却
Definition: Client.cpp:161
クライアントクラス
Definition: Client.h:26
Definition: TCPConnection.h:9
void OnKilledAnpan(u32 AreaId)
アンパン殺害.
Definition: Client.cpp:115
ScriptExecuter * GetScript()
スクリプト制御オブジェクト取得
Definition: Client.h:122
void ExitShop()
Definition: ScriptExecuter.cpp:96
const ScriptFlagManager & GetScriptFlagManager() const
スクリプトフラグ管理取得.
Definition: Client.h:136
Definition: PacketBase.h:9
void SetCustomerId(u32 InCustomerId)
カスタマIDをセット
Definition: Client.h:76
void CreateCharacter(u32 CharacterId, const std::string &Name, u8 Job, u32 Level, u32 Exp, u32 Gold, bool bIsGM, u32 RightEquipId, u32 LeftEquipId)
キャラクタを作成
Definition: Client.cpp:69
virtual ~Client()
デストラクタ
Definition: Client.cpp:37
プレイヤーキャラクタ
Definition: PlayerCharacter.h:23
u8 RetireQuest(u32 QuestId)
クエスト破棄.
Definition: Client.cpp:121
u8 BuyItem(u32 ShopId, u32 ItemId, u32 Count)
アイテム購入
Definition: Client.cpp:127
Definition: MemoryStreamInterface.h:8
Definition: QuestManager.h:13
const QuestManager & GetQuestManager() const
クエスト管理取得.
Definition: Client.h:152
weak_ptr< PlayerCharacter > PlayerCharacterPtr
Definition: WeakPtrDefine.h:13
Definition: ScriptFlagManager.h:9
void ExitShop()
ショップ終了
Definition: Client.h:215