fully implement KeepAlive behavior

This commit is contained in:
2024-07-21 20:59:13 +02:00
parent 36a2e67ac4
commit 92a2e53036
25 changed files with 513 additions and 61 deletions

31
include/client/Client.h Normal file
View File

@@ -0,0 +1,31 @@
#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();
~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();
};
} // namespace client
} // namespace blitz