#pragma once #include "util/ObjectsKeeper.hpp" class Engine; class Batch2D; /// @brief Screen is a mainloop state class Screen : public util::ObjectsKeeper { protected: Engine& engine; std::unique_ptr batch; public: Screen(Engine& engine); virtual ~Screen(); virtual void update(float delta) = 0; virtual void draw(float delta) = 0; virtual void onEngineShutdown() {}; };