19 enum class ID :
unsigned int
29 WAVEFRONT_OBJECTIFYING = 8,
34 : ctx(c), _runtime_stack(rs)
38 virtual ~state() =
default;
40 virtual void draw()
const noexcept = 0;
46 virtual bool update(
const std::optional<args>&
args,
double delta_time)
noexcept = 0;
49 void request_stack_push(ID state_id)
const noexcept;
51 void request_stack_pop() const noexcept;
53 void request_stack_clear() const noexcept;
55 [[nodiscard]] const
runtime_app::context& get_context() const noexcept;
60 std::reference_wrapper<const
runtime_app::context> ctx;
struct representing the context passed to states in the runtime_app stack
Definition runtime_app.h:34
virtual bool update(const std::optional< args > &args, double delta_time) noexcept=0
Update the state with the given arguments and elapsed time.