#include #include #include namespace td { namespace server { ServerState::ServerState(Server& a_Server) : Server::State(a_Server) { Connect(m_StateMachine.m_Socket->OnReceive, std::bind(&ServerState::HandlePacket, this, std::placeholders::_1, std::placeholders::_2)); Connect(m_StateMachine.m_Players.OnPlayerJoin, std::bind(&ServerState::OnPlayerJoin, this, std::placeholders::_1, std::placeholders::_2)); Connect(m_StateMachine.m_Players.OnPlayerLeave, std::bind(&ServerState::OnPlayerLeave, this, std::placeholders::_1)); } ServerState::~ServerState() {} void ServerState::SendPacket(PlayerID a_Id, const protocol::PacketBase& a_Packet) { m_StateMachine.m_Socket->Send(a_Id, a_Packet); } void ServerState::BroadcastPacket(const protocol::PacketBase& a_Packet) { m_StateMachine.m_Socket->Broadcast(a_Packet); } } // namespace server } // namespace td