relation/server/imserver/playermgr.h
aozhiwei 8c26eae458 1
2020-05-03 22:08:39 +08:00

40 lines
767 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);
private:
int OnlineNum();
Player* GetPlayerBySocket(int socket);
void OnClientDisconnect(a8::XParams& param);
void RemovePlayerBySocket(int socket_handle);
private:
std::map<int, Player*> socket_hash_;
std::map<std::string, Player*> accountid_hash_;
};