This commit is contained in:
aozhiwei 2020-05-03 22:28:17 +08:00
parent 8c26eae458
commit 4185df5829
3 changed files with 17 additions and 1 deletions

View File

@ -396,6 +396,14 @@ void App::ProcessWSProxyMsg(f8::MsgHdr& hdr)
ProcessNetMsg(handler, WSListener::Instance(), hdr);
}
break;
case HID_Player:
{
Player* hum = PlayerMgr::Instance()->GetPlayerBySocket(hdr.socket_handle);
if (hum) {
ProcessNetMsg(handler, hum, hdr);
}
}
break;
case HID_PlayerMgr:
{
ProcessNetMsg(handler, PlayerMgr::Instance(), hdr);

View File

@ -38,6 +38,12 @@ Player* PlayerMgr::GetPlayerBySocket(int socket)
return itr != socket_hash_.end() ? itr->second : nullptr;
}
Player* PlayerMgr::GetPlayerByAccountId(const std::string& account_id)
{
auto itr = accountid_hash_.find(account_id);
return itr != accountid_hash_.end() ? itr->second : nullptr;
}
void PlayerMgr::OnClientDisconnect(a8::XParams& param)
{
int gg_socket = param.sender;

View File

@ -27,9 +27,11 @@ class PlayerMgr : public a8::Singleton<PlayerMgr>
void _SS_WSP_SocketDisconnect(f8::MsgHdr& hdr, const ss::SS_WSP_SocketDisconnect& msg);
void _CMLogin(f8::MsgHdr& hdr, const cs::CMLogin& msg);
Player* GetPlayerBySocket(int socket);
Player* GetPlayerByAccountId(const std::string& account_id);
private:
int OnlineNum();
Player* GetPlayerBySocket(int socket);
void OnClientDisconnect(a8::XParams& param);
void RemovePlayerBySocket(int socket_handle);