#pragma once #include #include #include #include #include #include #include namespace td { class DebugWorldState : public DisplayState { private: render::RenderPipeline m_Renderer; render::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; public: DebugWorldState(Display& a_Display); ~DebugWorldState(); virtual void Update(float a_Delta) override; protected: virtual void OnAspectRatioChange(float a_Ratio) override; virtual void OnKeyDown(SDL_Keycode a_Key) override; }; } // namespace td