From e3c390ad6d0db14bee18ca1be12bc76a5c73f025 Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Mon, 25 Mar 2024 20:38:03 +0800 Subject: [PATCH] 1 --- server/gameserver/roommgr.cc | 10 ++++++++++ server/gameserver/roommgr.h | 2 ++ 2 files changed, 12 insertions(+) diff --git a/server/gameserver/roommgr.cc b/server/gameserver/roommgr.cc index 90fd3578..af9cabb3 100644 --- a/server/gameserver/roommgr.cc +++ b/server/gameserver/roommgr.cc @@ -766,3 +766,13 @@ std::shared_ptr RoomMgr::GetCustomMemberBySocket(int socket_handle auto itr = socket_hash_.find(socket_handle); return itr != socket_hash_.end() ? itr->second : nullptr; } + +void RoomMgr::ReBindCustomMemberSocket(std::shared_ptr p) +{ + socket_hash_[p->GetSocketHandle()] = p; +} + +void RoomMgr::UnBindCustomMemberSocket(int socket_handle) +{ + socket_hash_.erase(socket_handle); +} diff --git a/server/gameserver/roommgr.h b/server/gameserver/roommgr.h index e7ea6227..e55f37c0 100644 --- a/server/gameserver/roommgr.h +++ b/server/gameserver/roommgr.h @@ -84,6 +84,8 @@ class RoomMgr : public a8::Singleton bool HasTask(); void OnJoinRoomOk(const cs::CMJoin& msg, Player* hum); std::shared_ptr GetCustomMemberBySocket(int socket_handle); + void ReBindCustomMemberSocket(std::shared_ptr p); + void UnBindCustomMemberSocket(int socket_handle); private: void InstallReportStateTimer();