ERROR_CODE Lobby::LeaveUser(const int userIndex) { RemoveUser(userIndex); auto pUser = FindUser(userIndex); if (pUser == nullptr) { return ERROR_CODE::LOBBY_LEAVE_USER_NVALID_UNIQUEINDEX; } pUser->LeaveLobby(); m_UserIndexDic.erase(pUser->GetIndex()); m_UserIDDic.erase(pUser->GetID().c_str()); return ERROR_CODE::NONE; }
void MMatchChannel::RemoveObject(const MUID& uid) { LeaveLobby(uid); auto i = m_ObjUIDCaches.find(uid); if (i != m_ObjUIDCaches.end()) { MMatchObject* pObj = i->second; m_UserArray.Remove(pObj); m_ObjUIDCaches.erase(i); // Channel Cache } /* if (pObj) { MObjectStrMap::iterator Itor2 = m_ObjStrCaches.find(string(pObj->GetCharInfo()->m_szName)); if (Itor2 != m_ObjStrCaches.end()) { m_ObjStrCaches.erase(Itor2); } } */ }