39 lines
944 B
C++
39 lines
944 B
C++
#pragma once
|
|
|
|
#include "blitz/common/Defines.h"
|
|
#include "blitz/network/Connexion.h"
|
|
|
|
namespace blitz {
|
|
namespace client {
|
|
|
|
class Client;
|
|
|
|
class ClientConnexion : public network::Connexion {
|
|
private:
|
|
Client* m_Client;
|
|
std::string m_PlayerName;
|
|
game::PlayerID m_PlayerID;
|
|
|
|
public:
|
|
ClientConnexion(Client* client);
|
|
virtual ~ClientConnexion();
|
|
|
|
virtual void HandlePacket(const protocol::DisconnectPacket* packet) override;
|
|
virtual void HandlePacket(const protocol::KeepAlivePacket* packet) override;
|
|
virtual void HandlePacket(const protocol::ChatPacket* packet) override;
|
|
virtual void HandlePacket(const protocol::ConnexionInfoPacket* packet) override;
|
|
|
|
bool Connect(const std::string& pseudo, const std::string& address, std::uint16_t port);
|
|
|
|
game::PlayerID GetPlayerID() const {
|
|
return m_PlayerID;
|
|
}
|
|
|
|
private:
|
|
void Login(const std::string& pseudo);
|
|
void RegisterHandlers();
|
|
};
|
|
|
|
} // namespace client
|
|
} // namespace blitz
|