#pragma once #include #include #include namespace td { namespace client { class Client { private: std::shared_ptr m_Socket; std::shared_ptr m_State; std::chrono::time_point m_LastTime; public: Client(const std::shared_ptr& a_Socket) : m_Socket(a_Socket), m_LastTime(std::chrono::system_clock::now()) {} void Update(); void UpdateState(const std::shared_ptr& a_State); private: void Update(float a_Delta); friend class IClientState; }; } // namespace client } // namespace td