#pragma once #include #include #include 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(); NazaraSignal(OnClientReady); NazaraSignal(OnClientDisconnect); private: EnttWorld m_World; std::unique_ptr m_NetworkClient; std::vector> m_Handlers; void BindHandlers(); void UnbindHandlers(); void Login(); }; } // namespace client } // namespace blitz