#pragma once #include #include #include #include #include namespace td { class ClientHandler; class DebugWorldState : public DisplayState { private: render::RenderPipeline m_Renderer; std::unique_ptr m_Client; std::unique_ptr m_Server; std::unique_ptr m_Simulation; render::Camera m_Camera; std::unique_ptr m_ClientHandler; 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