#ifndef FRONTEND_SCREENS_LEVEL_SCREEN_HPP_ #define FRONTEND_SCREENS_LEVEL_SCREEN_HPP_ #include "Screen.hpp" #include class Engine; class LevelFrontend; class Hud; class LevelController; class WorldRenderer; class TextureAnimator; class PostProcessing; class Level; class LevelScreen : public Screen { std::unique_ptr frontend; std::unique_ptr hud; std::unique_ptr controller; std::unique_ptr worldRenderer; std::unique_ptr animator; std::unique_ptr postProcessing; void saveWorldPreview(); bool hudVisible = true; void updateHotkeys(); public: LevelScreen(Engine* engine, Level* level); ~LevelScreen(); void update(float delta) override; void draw(float delta) override; void onEngineShutdown() override; LevelController* getLevelController() const; }; #endif // FRONTEND_SCREENS_LEVEL_SCREEN_HPP_