Files
Blitz2/include/client/Client.h
2024-07-23 01:10:20 +02:00

33 lines
630 B
C++

#pragma once
#include <Nazara/Core/EnttWorld.hpp>
#include <atomic>
#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();
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