Files
2022-10-26 12:25:11 +08:00

86 lines
1.8 KiB
C++

#pragma once
#include "BaseParty.h"
#include "SessionMemberMgr.h"
#include "ClosingUserList.h"
class AgentParty : public BaseParty
{
public:
AgentParty();
~AgentParty();
void Release();
void Update();
void Display();
void Init(
WORD party_key,
DWORD master_key
);
void SendPacketAll(
MSG_BASE* msg,
WORD size,
DWORD except_key = 0,
KEYTYPE check_zone_key = 0
)const;
bool IsClosingUser(
User* user
);
inline SessionMemberMgr& GetSessionMemberMgr();
inline ClosingUserList& GetClosingUserList();
inline BYTE GetMemberNum()const;
inline BYTE GetActiveMemberCount()const;
inline BYTE GetClosingUserCount()const;
#ifdef _NA_20111220_CHANGE_DISCONNECTED_USER_PROCESS
void GetMemberInfoAll(
PARTY_MEMBER_TOTAL_INFO& member_info_all
);
#endif
VOID SetPartySubType(const ePARTY_SUB_TYPE& _type ) {party_sub_type_ = _type;}
ePARTY_SUB_TYPE GetPartySubType() {return party_sub_type_;}
private:
SessionMemberMgr session_member_mgr_;
ClosingUserList closing_user_list_;
ePARTY_SUB_TYPE party_sub_type_;
};
inline SessionMemberMgr&
AgentParty::GetSessionMemberMgr()
{
return session_member_mgr_;
}
inline ClosingUserList&
AgentParty::GetClosingUserList()
{
return closing_user_list_;
}
inline BYTE
AgentParty::GetMemberNum()const
{
return GetActiveMemberCount() + GetClosingUserCount();
}
inline BYTE
AgentParty::GetActiveMemberCount()const
{
BYTE number_of_active_members = BaseParty::GetMemberNum();
return number_of_active_members;
}
inline BYTE
AgentParty::GetClosingUserCount()const
{
BYTE number_of_closing_members = closing_user_list_.GetClosingUserCount();
return number_of_closing_members;
}