begin player auth

This commit is contained in:
2025-08-15 11:25:35 +02:00
parent 833173b5e8
commit a50898a88b
16 changed files with 139 additions and 40 deletions

View File

@@ -0,0 +1,24 @@
#pragma once
#include <server/Server.h>
namespace td {
namespace server {
class IServerSocket;
class ConnectionHandler : public protocol::PacketHandler {
private:
IServerSocket& m_Server;
PlayerID m_Player;
public:
ConnectionHandler(IServerSocket& a_Server, PlayerID a_Player);
~ConnectionHandler() = default;
virtual void Handle(const protocol::packets::PlayerLoginPacket& a_Packet) override;
virtual void Handle(const protocol::packets::DisconnectPacket& a_Packet) override;
};
} // namespace server
} // namespace td

View File

@@ -9,13 +9,15 @@ namespace server {
class IServerSocket {
public:
utils::Signal<PlayerID> OnConnect;
utils::Signal<PlayerID> OnDisconnect;
utils::Signal<PlayerID, const protocol::PlayerInfo&> OnPlayerJoin;
utils::Signal<PlayerID> OnPlayerLeave;
utils::Signal<PlayerID, const protocol::PacketBase&> OnReceive;
void Send(PlayerID a_PlayerId, const protocol::PacketBase& a_Packet);
void Broadcast(const protocol::PacketBase& a_Packet);
void Disconnect(PlayerID a_PlayerId);
IServerSocket() {}
virtual ~IServerSocket() {}

View File

@@ -10,6 +10,8 @@ class ServerState : public Server::State, private utils::SlotGuard {
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, const td::protocol::PlayerInfo& a_Info) {}
virtual void OnPlayerLeave(PlayerID a_Id) {}
ServerState(Server& a_Server);
virtual ~ServerState();