#include "game/client/Client.h" #include namespace td { namespace client { void Client::connect(const network::IPAddresses& addresses, std::uint16_t port) { for (const network::IPAddress& address : addresses) { if (address.IsValid() && m_Connexion.connect(address.ToString(), port)) { m_Connected = true; break; } } if (!m_Connected) { std::cout << "Failed to connect !\n"; } m_Connected = true; } void Client::selectTeam(game::TeamColor team) { if (!m_Connected) return; protocol::SelectTeamPacket packet(team); m_Connexion.sendPacket(&packet); } void Client::closeConnection() { if (!m_Connected) return; m_Connected = false; protocol::DisconnectPacket packet; m_Connexion.sendPacket(&packet); } void Client::tick(std::uint64_t delta) { if (!m_Connected) return; m_Connected = m_Connexion.updateSocket(); if (!m_Connected) { std::cout << "Disconnected ! (Reason : " << m_Connexion.getDisconnectReason() << ")\n"; } else { m_Game.tick(delta); } } void Client::render() { m_Game.renderWorld(); } } // namespace client } // namespace td