relation/server/imserver/playermgr.h
aozhiwei 4185df5829 1
2020-05-03 22:28:17 +08:00

42 lines
833 B
C++

#pragma once
namespace cs
{
class CMLogin;
}
namespace ss
{
class SS_WSP_SocketDisconnect;
}
class Player;
class PlayerMgr : public a8::Singleton<PlayerMgr>
{
public:
enum { HID = HID_PlayerMgr };
private:
PlayerMgr() {};
friend class a8::Singleton<PlayerMgr>;
public:
void Init();
void UnInit();
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();
void OnClientDisconnect(a8::XParams& param);
void RemovePlayerBySocket(int socket_handle);
private:
std::map<int, Player*> socket_hash_;
std::map<std::string, Player*> accountid_hash_;
};