Beispiel #1
0
	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;
	}
Beispiel #2
0
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);
		}
	}
*/	
}