27 const std::decay_t<T>& begin,
28 const std::decay_t<T>& end,
45 const std::decay_t<T>& begin,
46 const std::decay_t<T>& end,
62 const std::decay_t<T>& end,
77auto change_to(
const std::shared_ptr<T>&
object,
78 const std::decay_t<T>& end,
94 const std::decay_t<T>& amount,
109auto change_by(
const std::shared_ptr<T>&
object,
110 const std::decay_t<T>& amount,
120auto sequence(
const std::vector<seq_action>& actions,
const sentinel_t& sentinel = hpp::eternal_sentinel())
140template<
typename... Args>
143 return sequence(std::vector<seq_action>{t1, t2, std::forward<Args>(actions)...});
154template<
typename... Args>
157 return sequence_precise(std::vector<seq_action>{t1, t2, std::forward<Args>(actions)...});
166auto together(
const std::vector<seq_action>& actions,
const sentinel_t& sentinel = hpp::eternal_sentinel())
177template<
typename... Args>
180 return together(std::vector<seq_action>{t1, t2, std::forward<Args>(actions)...});
197auto repeat(
const seq_action& action,
size_t times = 0) -> seq_action;
206auto repeat(
const seq_action& action,
const sentinel_t& sentinel,
size_t times = 0) -> seq_action;
214auto 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 ...