From 734c4d958c39d21f58a732d7f6c89915f3dc1c67 Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Fri, 2 Feb 2024 16:08:18 +0800 Subject: [PATCH] 1 --- server/gameserver/room.cc | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/server/gameserver/room.cc b/server/gameserver/room.cc index d4244b63..81f84027 100644 --- a/server/gameserver/room.cc +++ b/server/gameserver/room.cc @@ -1092,14 +1092,18 @@ bool Room::CanJoin(const std::string& accountid, GetHumanNum() >= GetRoomMaxPlayerNum() ) { bool have_team = false; - for (auto& pair : human_hash_) { - if (pair.second->team_uuid == msg.team_uuid()) { - if (pair.second->GetTeam() && !pair.second->GetTeam()->IsFull()) { - have_team = true; - break; - } - } - }//end for human_hash_ + TraverseHumanList + ( + [&have_team, &msg] (Human* ele_hum) -> bool + { + if (ele_hum->team_uuid == msg.team_uuid()) { + if (ele_hum->GetTeam() && !ele_hum->GetTeam()->IsFull()) { + have_team = true; + return false; + } + } + return true; + }); if (have_team) { while (GetHumanNum() >= GetRoomMaxPlayerNum()) { RandRemoveAndroid();