#define BLANK_NET_CLIENT_HPP_
#include "Connection.hpp"
+#include "../app/IntervalTimer.hpp"
#include <string>
#include <SDL_net.h>
};
public:
- Client(const Config &, World &);
+ explicit Client(const Config &);
~Client();
void Handle();
void Update(int dt);
- bool TimedOut() { return conn.TimedOut(); }
+ Connection &GetConnection() noexcept { return conn; }
+ const Connection &GetConnection() const noexcept { return conn; }
+
+ std::uint16_t SendPing();
+ std::uint16_t SendLogin(const std::string &);
+ std::uint16_t SendPart();
+ // this may not send the update at all, in which case it returns -1
+ int SendPlayerUpdate(const Entity &);
private:
void HandlePacket(const UDPpacket &);
private:
- World &world;
Connection conn;
UDPsocket client_sock;
UDPpacket client_pack;
+ IntervalTimer update_timer;
};