voxelcore/src/frontend/screens/Screen.hpp
2024-08-10 01:57:59 +03:00

19 lines
412 B
C++

#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<Batch2D> batch;
public:
Screen(Engine* engine);
virtual ~Screen();
virtual void update(float delta) = 0;
virtual void draw(float delta) = 0;
virtual void onEngineShutdown() {};
};