From a058ce092d7d5068eeae6e71859f5a60e0611023 Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Tue, 30 Jan 2024 21:34:08 +0800 Subject: [PATCH] 1 --- server/gameserver/custom_battle.cc | 9 +++++++++ server/gameserver/custom_battle.h | 1 + server/gameserver/pbutils.cc | 11 ++++++++++- 3 files changed, 20 insertions(+), 1 deletion(-) diff --git a/server/gameserver/custom_battle.cc b/server/gameserver/custom_battle.cc index 6ab86cba..7e9eaeda 100644 --- a/server/gameserver/custom_battle.cc +++ b/server/gameserver/custom_battle.cc @@ -141,3 +141,12 @@ void CustomBattle::TraverseMemberList(std::function func) } } } + +void CustomBattle::TraverseTeamList(std::function)> cb) +{ + for (auto& pair : uuid_hash_) { + if (!cb(pair.second)) { + break; + } + } +} diff --git a/server/gameserver/custom_battle.h b/server/gameserver/custom_battle.h index 1f1d4f1d..229d3294 100644 --- a/server/gameserver/custom_battle.h +++ b/server/gameserver/custom_battle.h @@ -29,6 +29,7 @@ class CustomBattle int GetMemberNum(); int GetTeamNum(); void TraverseMemberList(std::function func); + void TraverseTeamList(std::function)> cb); private: bool parse_ok_ = false; diff --git a/server/gameserver/pbutils.cc b/server/gameserver/pbutils.cc index 3fa24396..58c7a5fe 100644 --- a/server/gameserver/pbutils.cc +++ b/server/gameserver/pbutils.cc @@ -50,6 +50,9 @@ #include "roommgr.h" #include "bornpoint.h" #include "roomob.h" +#include "custom_battle.h" +#include "custom_team.h" +#include "custom_member.h" #include "mt/Param.h" #include "mt/Buff.h" @@ -2704,7 +2707,13 @@ int Room::InitWithMobaBattle(long ip_saddr, int socket_handle, std::shared_ptr msg, std::shared_ptr p) { - + std::vector> teams; + p->TraverseTeamList + ( + [&teams] (std::shared_ptr team) -> bool + { + return true; + }); } void SyncObject::FillSMSyncPosition(cs::SMSyncPosition& sync_msg)