Files
Blitz2/include/client/Client.h

33 lines
646 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(std::shared_ptr<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