#pragma once #include #include #include #include #include #include #include namespace td { class DebugWorldState : public DisplayState { private: render::RenderPipeline m_Renderer; Camera m_Camera; std::unique_ptr m_Server; std::unique_ptr m_Client; client::GameState* m_ClientState; std::vector> m_FakeClients; std::shared_ptr m_ServerSocket; unsigned int m_PlaySpeed = 1; public: DebugWorldState(Display& a_Display); ~DebugWorldState(); virtual void Update(float a_Delta) override; protected: virtual void OnAspectRatioChange(float a_Ratio) override; virtual void OnKeyDown(int a_Key) override; }; } // namespace td