From 752d87d136979a1acd6327585c2b1d5d2c7ade0e Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Mon, 24 Oct 2022 00:06:45 +0800 Subject: [PATCH] 1 --- server/gameserver/app.cc | 9 +++++-- server/gameserver/constant.h | 1 + server/gameserver/handlermgr.cc | 11 +++++--- server/gameserver/matchmgr.cc | 48 --------------------------------- server/gameserver/matchmgr.h | 9 ------- server/gameserver/matchteam.h | 3 +++ 6 files changed, 18 insertions(+), 63 deletions(-) diff --git a/server/gameserver/app.cc b/server/gameserver/app.cc index 72a9e90d..89f741b0 100644 --- a/server/gameserver/app.cc +++ b/server/gameserver/app.cc @@ -499,8 +499,13 @@ void App::ProcessGameGateMsg(f8::MsgHdr& hdr) case HID_RoomMgr: ProcessNetMsg(handler, RoomMgr::Instance(), hdr); break; - case HID_MatchMgr: - ProcessNetMsg(handler, MatchMgr::Instance(), hdr); + case HID_MatchTeam: + { + auto match_info = MatchMgr::Instance()->GetMatchInfo(hdr.socket_handle); + if (match_info) { + ProcessNetMsg(handler, std::get<1>(*match_info), hdr); + } + } break; case HID_PlayerMgr: ProcessNetMsg(handler, PlayerMgr::Instance(), hdr); diff --git a/server/gameserver/constant.h b/server/gameserver/constant.h index 0c562bce..cb186057 100644 --- a/server/gameserver/constant.h +++ b/server/gameserver/constant.h @@ -25,6 +25,7 @@ enum NetHandler_e HID_Room, HID_RoomMgr, HID_MatchMgr, + HID_MatchTeam, HID_GGListener, }; diff --git a/server/gameserver/handlermgr.cc b/server/gameserver/handlermgr.cc index e3b6b3d2..0a39ac49 100644 --- a/server/gameserver/handlermgr.cc +++ b/server/gameserver/handlermgr.cc @@ -15,6 +15,7 @@ #include "jsondatamgr.h" #include "perfmonitor.h" #include "matchmgr.h" +#include "matchteam.h" static void _GMOpsSelfChecking(f8::JsonHttpRequest* request) { @@ -87,10 +88,12 @@ void HandlerMgr::RegisterNetMsgHandlers() RegisterNetMsgHandler(&ggmsghandler, &RoomMgr::_CMJoin); RegisterNetMsgHandler(&ggmsghandler, &RoomMgr::_CMReconnect); - RegisterNetMsgHandler(&ggmsghandler, &MatchMgr::_CMMatchCancel); - RegisterNetMsgHandler(&ggmsghandler, &MatchMgr::_CMMatchChoose); - RegisterNetMsgHandler(&ggmsghandler, &MatchMgr::_CMMatchStartGame); - RegisterNetMsgHandler(&ggmsghandler, &MatchMgr::_CMMatchCancelStartGame); + RegisterNetMsgHandler(&ggmsghandler, &MatchTeam::_CMMatchCancel); + RegisterNetMsgHandler(&ggmsghandler, &MatchTeam::_CMMatchChoose); + RegisterNetMsgHandler(&ggmsghandler, &MatchTeam::_CMMatchStartGame); + RegisterNetMsgHandler(&ggmsghandler, &MatchTeam::_CMMatchCancelStartGame); + RegisterNetMsgHandler(&ggmsghandler, &MatchTeam::_CMMatchSendMsg); + RegisterNetMsgHandler(&ggmsghandler, &MatchTeam::_CMMatchBroadcastMsg); RegisterNetMsgHandler(&ggmsghandler, &Player::_CMMove); RegisterNetMsgHandler(&ggmsghandler, &Player::_CMImmediateMsg); diff --git a/server/gameserver/matchmgr.cc b/server/gameserver/matchmgr.cc index 189c0194..aeb7d787 100644 --- a/server/gameserver/matchmgr.cc +++ b/server/gameserver/matchmgr.cc @@ -66,54 +66,6 @@ void MatchMgr::_CMJoin(f8::MsgHdr& hdr, const cs::CMJoin& msg) } } -void MatchMgr::_CMMatchCancel(f8::MsgHdr& hdr, const cs::CMMatchCancel& msg) -{ - auto match_info = GetMatchInfo(hdr.socket_handle); - if (match_info) { - std::get<1>(*match_info)->_CMMatchCancel(hdr, msg); - } -} - -void MatchMgr::_CMMatchChoose(f8::MsgHdr& hdr, const cs::CMMatchChoose& msg) -{ - auto match_info = GetMatchInfo(hdr.socket_handle); - if (match_info) { - std::get<1>(*match_info)->_CMMatchChoose(hdr, msg); - } -} - -void MatchMgr::_CMMatchStartGame(f8::MsgHdr& hdr, const cs::CMMatchStartGame& msg) -{ - auto match_info = GetMatchInfo(hdr.socket_handle); - if (match_info) { - std::get<1>(*match_info)->_CMMatchStartGame(hdr, msg); - } -} - -void MatchMgr::_CMMatchCancelStartGame(f8::MsgHdr& hdr, const cs::CMMatchCancelStartGame& msg) -{ - auto match_info = GetMatchInfo(hdr.socket_handle); - if (match_info) { - std::get<1>(*match_info)->_CMMatchCancelStartGame(hdr, msg); - } -} - -void MatchMgr::_CMMatchSendMsg(f8::MsgHdr& hdr, const cs::CMMatchSendMsg& msg) -{ - auto match_info = GetMatchInfo(hdr.socket_handle); - if (match_info) { - std::get<1>(*match_info)->_CMMatchSendMsg(hdr, msg); - } -} - -void MatchMgr::_CMMatchBroadcastMsg(f8::MsgHdr& hdr, const cs::CMMatchBroadcastMsg& msg) -{ - auto match_info = GetMatchInfo(hdr.socket_handle); - if (match_info) { - std::get<1>(*match_info)->_CMMatchBroadcastMsg(hdr, msg); - } -} - bool MatchMgr::NeedMatch(const cs::CMJoin& msg) { bool need = !msg.team_uuid().empty() && diff --git a/server/gameserver/matchmgr.h b/server/gameserver/matchmgr.h index 491156db..82034149 100644 --- a/server/gameserver/matchmgr.h +++ b/server/gameserver/matchmgr.h @@ -15,9 +15,6 @@ namespace cs class MatchTeam; class MatchMgr : public a8::Singleton { - public: - enum { HID = HID_MatchMgr }; - private: MatchMgr() {}; friend class a8::Singleton; @@ -29,12 +26,6 @@ public: void UnInit(); void _CMJoin(f8::MsgHdr& hdr, const cs::CMJoin& msg); - void _CMMatchCancel(f8::MsgHdr& hdr, const cs::CMMatchCancel& msg); - void _CMMatchChoose(f8::MsgHdr& hdr, const cs::CMMatchChoose& msg); - void _CMMatchStartGame(f8::MsgHdr& hdr, const cs::CMMatchStartGame& msg); - void _CMMatchCancelStartGame(f8::MsgHdr& hdr, const cs::CMMatchCancelStartGame& msg); - void _CMMatchSendMsg(f8::MsgHdr& hdr, const cs::CMMatchSendMsg& msg); - void _CMMatchBroadcastMsg(f8::MsgHdr& hdr, const cs::CMMatchBroadcastMsg& msg); void TraverseTeam(std::function func); bool NeedMatch(const cs::CMJoin& msg); diff --git a/server/gameserver/matchteam.h b/server/gameserver/matchteam.h index ca621ab1..46665f21 100644 --- a/server/gameserver/matchteam.h +++ b/server/gameserver/matchteam.h @@ -52,6 +52,9 @@ struct RawTeamMember class MatchTeam { + public: + enum { HID = HID_MatchTeam }; + public: a8::TimerAttacher timer_attacher; ~MatchTeam();