#pragma once #include #include #include #include namespace td { namespace server { class Server { private: std::shared_ptr m_Socket; std::shared_ptr m_State; std::chrono::time_point m_LastTime; public: Server(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 IServerState; }; } // namespace server } // namespace td