Files
aee-arcade/source/core/scene/scene.hpp
T

19 lines
422 B
C++

#pragma once
#include <memory>
class Scene {
public:
virtual ~Scene() = default;
virtual void update(int delta_ms) = 0;
virtual void render() = 0;
[[nodiscard]] auto wantsQuit() const -> bool { return wants_quit_; }
[[nodiscard]] auto nextScene() -> std::unique_ptr<Scene> { return std::move(next_scene_); }
protected:
bool wants_quit_{false};
std::unique_ptr<Scene> next_scene_;
};