19 lines
422 B
C++
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_;
|
|
};
|