3#include <hpp/event.hpp>
93 auto
is_valid() const noexcept ->
bool;
111 void clamp_elapsed();
128 void resume(const
std::
string& key = {},
bool force =
false);
134 void pause(
const std::string& key = {});
140 void pause_forced(
const std::string& key);
164 std::string pause_key_;
182 bool stop_and_finished_ =
false;
185 bool stop_when_finished_ =
false;
188 float speed_multiplier_ = 1.0f;
Provides a sequence-based action management system for controlling and scheduling actions.
size_t seq_id_t
Represents a unique identifier for sequence actions.
hpp::sentinel sentinel_t
Alias for a sentinel object used for lifecycle management.
state_t
Represents the state of a sequence action.
@ finished
The action has finished.
seq::seq_action creator(const std::string &type, values_t< T > &values, T &begin, const T &end, seq::duration_t duration)
std::chrono::nanoseconds duration_t
Represents a duration in nanoseconds.
Represents an action within the sequence management system. Contains lifecycle events and management ...
hpp::event< void()> on_update
Event emitted every frame while the action is running.
std::function< state_t(duration_t, seq_action &)> updater_t
Type alias for an updater function that defines the action's behavior.
auto operator=(seq_action &&) -> seq_action &=default
std::function< updater_t()> creator_t
Type alias for a creator function that generates an updater function for the action.
hpp::event< void()> on_step
Event emitted every time the action value is updated.
auto is_valid() const noexcept -> bool
Checks if the action is valid.
auto get_id() const -> seq_id_t
Gets the unique ID of the action.
auto operator=(const seq_action &) -> seq_action &=default
seq_inspect_info::ptr info
Gets a pointer to the action's inspection information.
seq_action(const seq_action &)=default
hpp::event< void()> on_end
Event emitted when the action is finished. Not emitted if the action is stopped prematurely.
hpp::event< void()> on_begin
Event emitted when the action is started.
seq_action(seq_action &&)=default
std::shared_ptr< seq_inspect_info > ptr
Shared pointer type.
Provides internal utilities for managing seq_action objects. These methods allow for direct control o...