#pragma once /* 占领战参与成员管理类 */ #ifndef DOMINATION_MEMBER_H #define DOMINATION_MEMBER_H //_NA_20110406_CHANGE_RULE_FOR_DOMINATION_JOIN typedef STLX_MULTIMAP MemberMap; typedef MemberMap::iterator MemberMapIterator; typedef MemberMap::const_iterator ConstMemberMapIterator; class DominationMember { public: DominationMember(MAPCODE map_code); ~DominationMember(); //本地地图代码 MAPCODE GetMapCode()const; //成员信息加载相关的方法 bool IsLoaded()const; void RequestData()const; void SetInfo(const DominationMemberInfo* member_info, int data_count); //获得相当于guild type的占领战成员的数量. BYTE MemberCount(const bool guild_type)const; BYTE MemberCount(const bool guild_type, const CHARGUID char_guid) const; //成员节点访问方法 const DominationMemberInfo* FindMember(CHARGUID char_guid)const; //创建成员列表 BYTE GetMemberList(DominationMemberInfo* OUT member_list, int max_count)const; //成员额外删除方法 void MemberInsert(const DominationMemberInfo* member_info); void MemberDelete(CHARGUID char_guid); //清除成员映射 void ClearMember(); private: //is_lad_data_ bool _IsLoadData()const; void _IsLoadData(bool set_value); private: MAPCODE map_code_; MemberMap member_map_; bool is_load_data_; }; inline bool DominationMember::_IsLoadData()const { return is_load_data_; } inline void DominationMember::_IsLoadData(bool set_value) { is_load_data_ = set_value; } inline bool DominationMember::IsLoaded()const { return _IsLoadData(); } inline MAPCODE DominationMember::GetMapCode()const { return map_code_; } #endif//DOMINATION_MEMBER_H