Files
Blitz2/include/client/Client.h
2024-08-07 11:54:09 +02:00

35 lines
678 B
C++

#pragma once
#include <Nazara/Core/EnttWorld.hpp>
#include <blitz/network/EnetClient.h>
#include <blitz/protocol/PacketHandler.h>
namespace blitz {
namespace client {
class Client : private NonCopyable {
public:
Client(Nz::EnttWorld& a_World);
~Client();
void Connect(const Nz::IpAddress& a_Ip);
void Disconnect();
bool IsConnected();
NazaraSignal(OnClientReady);
NazaraSignal(OnClientDisconnect);
private:
EnttWorld m_World;
std::unique_ptr<network::EnetClient> m_NetworkClient;
std::vector<std::unique_ptr<protocol::PacketHandler>> m_Handlers;
void BindHandlers();
void UnbindHandlers();
void Login();
};
} // namespace client
} // namespace blitz