28 const std::decay_t<T>& begin,
29 const std::decay_t<T>& end,
46 const std::decay_t<T>& begin,
47 const std::decay_t<T>& end,
63 const std::decay_t<T>& end,
78auto change_to(
const std::shared_ptr<T>&
object,
79 const std::decay_t<T>& end,
95 const std::decay_t<T>& amount,
110auto change_by(
const std::shared_ptr<T>&
object,
111 const std::decay_t<T>& amount,
121auto sequence(
const std::vector<seq_action>& actions,
const sentinel_t& sentinel = hpp::eternal_sentinel())
141template<
typename... Args>
144 return sequence(std::vector<seq_action>{t1, t2, std::forward<Args>(actions)...});
155template<
typename... Args>
158 return sequence_precise(std::vector<seq_action>{t1, t2, std::forward<Args>(actions)...});
167auto together(
const std::vector<seq_action>& actions,
const sentinel_t& sentinel = hpp::eternal_sentinel())
178template<
typename... Args>
181 return together(std::vector<seq_action>{t1, t2, std::forward<Args>(actions)...});
198auto repeat(
const seq_action& action,
size_t times = 0) -> seq_action;
207auto repeat(
const seq_action& action,
const sentinel_t& sentinel,
size_t times = 0) -> seq_action;
215auto repeat_precise(
const seq_action& action,
size_t times = 0) -> seq_action;
float linear(float progress)
Provides a sequence-based action management system for controlling and scheduling actions.
hpp::sentinel sentinel_t
Alias for a sentinel object used for lifecycle management.
auto sequence_precise(const std::vector< seq_action > &actions, const sentinel_t &sentinel) -> seq_action
Creates a precise sequential action that executes a list of actions with exact timing.
auto repeat(const seq_action &action, size_t times) -> seq_action
Repeats an action a specified number of times.
std::function< float(float)> ease_t
Represents an easing function for interpolation.
auto change_by(T &object, const std::decay_t< T > &amount, const duration_t &duration, const sentinel_t &sentinel, const ease_t &ease_func=ease::linear) -> seq_action
Creates an action to change an object by a specified amount over a specified duration.
auto repeat_precise(const seq_action &action, size_t times) -> seq_action
Precisely repeats an action a specified number of times.
auto delay(const duration_t &duration, const sentinel_t &sentinel) -> seq_action
Creates a delay action.
auto change_from_to(T &object, const std::decay_t< T > &begin, const std::decay_t< T > &end, const duration_t &duration, const sentinel_t &sentinel, const ease_t &ease_func=ease::linear) -> seq_action
Creates an action to change an object from one value to another over a specified duration.
auto sequence(const std::vector< seq_action > &actions, const sentinel_t &sentinel) -> seq_action
Creates a sequential action that executes a list of actions one after another.
std::chrono::nanoseconds duration_t
Represents a duration in nanoseconds.
auto together(const std::vector< seq_action > &actions, const sentinel_t &sentinel) -> seq_action
Creates a simultaneous action that executes a list of actions together.
auto change_to(T &object, const std::decay_t< T > &end, const duration_t &duration, const sentinel_t &sentinel, const ease_t &ease_func=ease::linear) -> seq_action
Creates an action to change an object to a specified value over a specified duration.
Represents an action within the sequence management system. Contains lifecycle events and management ...