begin server
This commit is contained in:
29
src/server/IServerState.cpp
Normal file
29
src/server/IServerState.cpp
Normal file
@@ -0,0 +1,29 @@
|
||||
#include <server/IServerState.h>
|
||||
#include <server/Server.h>
|
||||
|
||||
namespace td {
|
||||
namespace server {
|
||||
|
||||
IServerState::IServerState(IServerSocket& a_Socket) : m_Socket(a_Socket) {
|
||||
// TODO: don't do it like this
|
||||
m_Socket.OnConnect.Connect([this](PlayerID a_Player){
|
||||
OnPlayerJoin(a_Player);
|
||||
});
|
||||
m_Socket.OnDisconnect.Connect([this](PlayerID a_Player){
|
||||
OnPlayerLeave(a_Player);
|
||||
});
|
||||
m_Socket.OnReceive.Connect([this](PlayerID a_Player, const protocol::PacketBase& a_Packet){
|
||||
HandlePacket(a_Player, a_Packet);
|
||||
});
|
||||
}
|
||||
|
||||
void IServerState::SendPacket(PlayerID a_Id, const protocol::PacketBase& a_Packet) {
|
||||
m_Socket.Send(a_Id, a_Packet);
|
||||
}
|
||||
|
||||
void IServerState::SetNewState(const std::shared_ptr<IServerState>& a_NewState) {
|
||||
m_Server->UpdateState(a_NewState);
|
||||
}
|
||||
|
||||
} // namespace server
|
||||
} // namespace td
|
||||
Reference in New Issue
Block a user