//------------------------------------------------------------------------------ // uiPartyMan_info.cpp // (C) 2005 ckbang //------------------------------------------------------------------------------ #include "SunClientPrecompiledHeader.h" #include "uiPartyMan.h" #pragma warning ( push ) #pragma warning(disable : 4800) //------------------------------------------------------------------------------ /** */ bool uiPartyMan::IsPartyMember(DWORD dwObjKey) { if (!this->IsParty()) return false; for (size_t i=0; iIsParty()) { return 0; } for (size_t i=0; iIsParty()) return NULL; for (size_t i=0; iIsParty()) { return NULL; } if(index < m_vParty.size()) { return &(m_vParty[index]); } return NULL; } //------------------------------------------------------------------------------ /** */ void uiPartyMan::ClearParty() { this->m_vParty.clear(); this->uiClearAll(); // ÆÄƼ Á¤º¸ UI Ŭ¸®¾î this->m_bImTheLeader = false; #ifdef _NA_20111220_CHANGE_DISCONNECTED_USER_PROCESS is_disconnected_uesr_kick_ = false; ZeroMemory(kick_player_name_,sizeof(kick_player_name_)); #endif //_NA_20111220_CHANGE_DISCONNECTED_USER_PROCESS } //------------------------------------------------------------------------------ /** */ bool uiPartyMan::IsParty() { return (bool)this->m_vParty.size(); } //------------------------------------------------------------------------------ /** */ short uiPartyMan::GetPartyNum() { return this->m_vParty.size(); } //------------------------------------------------------------------------------ int uiPartyMan::GetPartyIndexByObjectKey(DWORD object_key) { for ( size_t i = 0; i< m_vParty.size(); ++i) { uicPartyMemberInfoPlus& member_info = m_vParty[i]; #ifdef _NA_20111220_CHANGE_DISCONNECTED_USER_PROCESS if (member_info.IsConnected() == true) #else if (member_info.IsUnexpectedTerminate() == false) #endif //_NA_20111220_CHANGE_DISCONNECTED_USER_PROCESS { if (member_info.Get().m_dwMemberKey == object_key) { return i; } } } return -1; } //------------------------------------------------------------------------------ int uiPartyMan::GetPartyIndex(TCHAR* character_name) { for ( size_t i = 0; i< m_vParty.size(); ++i) { uicPartyMemberInfoPlus& member_info = m_vParty[i]; #ifdef _NA_20111220_CHANGE_DISCONNECTED_USER_PROCESS if (member_info.IsConnected() == true) #else if (member_info.IsUnexpectedTerminate() == false) #endif //_NA_20111220_CHANGE_DISCONNECTED_USER_PROCESS { if (StrnCmp(member_info.Get().m_szCharName, character_name, MAX_CHARNAME_LENGTH) == 0) { return i; } } } return -1; } //------------------------------------------------------------------------------ /** */ const uicPartyMemberInfoPlus& uiPartyMan::GetParty(short idx) { if ((idx < 0) || (idx >= static_cast(m_vParty.size()))) { assert (static_cast(idx) < m_vParty.size()); return m_vParty[0]; } return this->m_vParty[idx]; } //------------------------------------------------------------------------------ /** */ const uicPartyMemberInfoPlus* uiPartyMan::GetPartyLeader() { if (!this->IsParty()) { return NULL; } for (int i=0; iGetPartyNum(); ++i) { if (m_vParty[i].Get().m_dwMemberKey == GetMasterKey()) { return &this->m_vParty[i]; } } return NULL; } //------------------------------------------------------------------------------ /** */ STLX_VECTOR uiPartyMan::GetPartyList() { return this->m_vParty; } //------------------------------------------------------------------------------ /** */ void uiPartyMan::SetPartyList(const STLX_VECTOR& partyList) { this->m_vParty = partyList; } #pragma warning ( pop ) //------------------------------------------------------------------------------ /** */ #ifdef _DH_BATTLEZONE2_ int uiPartyMan::GetPartyIndexFromObjectkey(DWORD object_key) { //¿ÀºêÁ§Æ®Å°·Î ÆÄƼ¿ø À妽º ±¸ÇØ¿À±â if (this->IsParty() == false) { return false; } for (size_t i = 0; i< m_vParty.size(); ++i) { if (m_vParty[i].CompKeySimple(object_key)) return i; } return -1; } #endif //_DH_BATTLEZONE2_ //------------------------------------------------------------------------------ // EOF //------------------------------------------------------------------------------