12 const std::decay_t<T>& begin,
13 const std::decay_t<T>& end,
18 if(sentinel.expired())
26 if(!sentinel.expired())
48 std::move(initialize_func),
49 std::move(updater_func),
50 std::move(getter_func),
63 const std::decay_t<T>& begin,
64 const std::decay_t<T>& end,
72 return change_from_to(*
object.get(), begin, end, duration,
object, ease_func);
77 const std::decay_t<T>& end,
82 if(sentinel.expired())
90 if(sentinel.expired())
95 auto begin = (*object);
113 std::move(initialize_func),
114 std::move(updater_func),
115 std::move(getter_func),
127 const std::decay_t<T>& end,
135 return change_to(*
object.get(), end, duration,
object, ease_func);
140 const std::decay_t<T>& amount,
145 if(sentinel.expired())
158 auto updater_func = [prev = T{}](T*
object, T next,
seq_action& self)
mutable
160 T step = (next - prev);
175 std::move(initialize_func),
176 std::move(updater_func),
177 std::move(getter_func),
189 const std::decay_t<T>& amount,
197 return change_by(*
object.get(), amount, duration,
object, ease_func);
const btCollisionObject * object
void update_begin_value(seq_action &action, const T &begin)
void add_info(seq_action &action, const std::string &updater_type, const Object &object, const T &end_value, const ease_t &ease_func)
void update_action_status(seq_action &action)
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.
seq::seq_action creator(const std::string &type, values_t< T > &values, T &begin, const T &end, seq::duration_t duration)
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 create_action_updater(Object *object, const TargetType &end, const sentinel_t &sentinel, InitializeFunc &&initialize_func, UpdateFunc &&update_func, Getter &&getter, const ease_t &ease_func=ease::linear, const interpolate_t< TargetType > &interpolate=lerp< TargetType >)
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.
std::chrono::nanoseconds duration_t
Represents a duration in nanoseconds.
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 ...