begin server

This commit is contained in:
2025-08-06 12:53:33 +02:00
parent 9c5ad07747
commit 599dfa0cee
7 changed files with 189 additions and 0 deletions

View File

@@ -0,0 +1,36 @@
#pragma once
#include <server/IServerSocket.h>
namespace td {
namespace server {
class Server;
class IServerState {
protected:
void SendPacket(PlayerID a_Id, const protocol::PacketBase& a_Packet);
void SetNewState(const std::shared_ptr<IServerState>& a_NewState);
public:
virtual void HandlePacket(PlayerID a_Id, const protocol::PacketBase& a_Packet) = 0;
virtual void Update(float a_Delta) = 0;
virtual void OnPlayerJoin(PlayerID a_Id) = 0;
virtual void OnPlayerLeave(PlayerID a_Id) = 0;
IServerState(IServerSocket& a_Server);
virtual ~IServerState() {}
private:
IServerSocket& m_Socket;
Server* m_Server;
void SetServer(Server* a_Server) {
m_Server = a_Server;
}
friend class Server;
};
} // namespace server
} // namespace td