GameServer
Party.h
[詳解]
1 #ifndef __PARTY_H__
2 #define __PARTY_H__
3 
4 #include <boost/unordered_map.hpp>
5 #include "WeakPtrDefine.h"
6 
7 class PacketBase;
8 
12 class Party : public enable_shared_from_this<Party>
13 {
14 
15 private: // 別名定義.
16 
17  typedef boost::unordered_map<u32, PlayerCharacterPtr> MemberMap;
18 
19 public:
20 
21  // コンストラクタ
22  Party(u32 InUuid);
23 
24  // デストラクタ
25  virtual ~Party() {}
26 
27  // 毎フレームの処理.
28  void Poll();
29 
30  // 参加.
31  bool Join(PlayerCharacterPtr pPlayer);
32 
33  // 脱退.
34  void Exit(u32 CharacterUuid);
35 
36  // メンバリスト取得.
37  std::vector<PlayerCharacterPtr> GetMemberList() const;
38 
39  // メンバが最大か?
40  bool IsMaximumMember() const { return (MemberList.size() >= MaximumMember); }
41 
42  // 削除してもいいか?
43  bool IsAbleDelete() const;
44 
45  // UUIDを取得.
46  u32 GetUuid() const { return Uuid; }
47 
48  // パケットをバラ撒く。
49  void BroadcastPacket(PacketBase *pPacket, Client *pIgnoreClient = NULL);
50 
51 private:
52 
53  // メンバ最大数.
54  static const u32 MaximumMember;
55 
56  // メンバマップ
57  MemberMap MemberList;
58 
59  // UUID
60  u32 Uuid;
61 
62 };
63 
64 #endif // #ifndef __PARTY_H__
virtual ~Party()
Definition: Party.h:25
Definition: Party.h:12
bool IsAbleDelete() const
Definition: Party.cpp:101
bool Join(PlayerCharacterPtr pPlayer)
Definition: Party.cpp:43
bool IsMaximumMember() const
Definition: Party.h:40
Party(u32 InUuid)
Definition: Party.cpp:13
std::vector< PlayerCharacterPtr > GetMemberList() const
Definition: Party.cpp:90
unsigned int u32
Definition: TypeDefs.h:10
void Exit(u32 CharacterUuid)
Definition: Party.cpp:82
void BroadcastPacket(PacketBase *pPacket, Client *pIgnoreClient=NULL)
Definition: Party.cpp:108
クライアントクラス
Definition: Client.h:26
void Poll()
Definition: Party.cpp:19
Definition: PacketBase.h:9
weak_ptr< PlayerCharacter > PlayerCharacterPtr
Definition: WeakPtrDefine.h:13
u32 GetUuid() const
Definition: Party.h:46