Unravel Engine C++ Reference
Loading...
Searching...
No Matches
seq.h File Reference
#include "seq_core.h"
#include "seq_manager.h"
#include <hpp/source_location.hpp>

Go to the source code of this file.

Namespaces

namespace  seq
 Provides a sequence-based action management system for controlling and scheduling actions.
 
namespace  seq::manager
 
namespace  seq::scope
 

Functions

auto seq::start (seq_action action, const seq_scope_policy &scope_policy={}, hpp::source_location location=hpp::source_location::current()) -> seq_id_t
 Starts a new action.
 
void seq::stop (seq_id_t id)
 Stops the action associated with the given ID.
 
void seq::pause (seq_id_t id)
 Pauses the action associated with the given ID.
 
void seq::resume (seq_id_t id)
 Resumes the action associated with the given ID.
 
void seq::stop_when_finished (seq_id_t id)
 Marks the action to stop when it finishes.
 
void seq::stop_and_finish (seq_id_t id, duration_t finish_after=0ms)
 Stops the action after a specified duration.
 
void seq::update (duration_t delta)
 Updates the state of all actions with a time delta.
 
void seq::update (duraiton_secs_t delta)
 Updates the state of all actions with a time delta in seconds.
 
void seq::shutdown ()
 Shuts down the action management system, stopping all actions.
 
auto seq::is_stopping (seq_id_t id) -> bool
 Checks if the action is stopping.
 
auto seq::is_running (seq_id_t id) -> bool
 Checks if the action is running.
 
auto seq::is_paused (seq_id_t id) -> bool
 Checks if the action is paused.
 
auto seq::is_finished (seq_id_t id) -> bool
 Checks if the action has finished.
 
auto seq::has_action_with_scope (const std::string &scope_id) -> bool
 Checks if there is an action associated with the given scope ID.
 
void seq::set_speed_multiplier (seq_id_t id, float speed_multiplier=1.0f)
 Sets the speed multiplier for an action.
 
auto seq::get_speed_multiplier (seq_id_t id) -> float
 Gets the speed multiplier of an action.
 
auto seq::get_elapsed (seq_id_t id) -> duration_t
 Gets the elapsed duration of an action.
 
void seq::set_elapsed (seq_id_t id, duration_t duration)
 Sets the elapsed duration of an action.
 
void seq::update (seq_id_t id, duration_t duration)
 Updates the elapsed duration of a specific action.
 
auto seq::get_duration (seq_id_t id) -> duration_t
 Gets the total duration of an action.
 
auto seq::get_overflow (seq_id_t id) -> duration_t
 Gets the overflow duration of an action.
 
auto seq::get_percent (seq_id_t id) -> float
 Gets the percentage completion of an action.
 
void seq::manager::push (seq_manager &mgr)
 Pushes a sequence manager to the stack.
 
void seq::manager::pop ()
 Pops the top sequence manager from the stack.
 
void seq::scope::push (const std::string &scope)
 Pushes a new scope to the stack.
 
void seq::scope::close (const std::string &scope)
 Closes the specified scope.
 
void seq::scope::pop ()
 Pops the current scope from the stack.
 
void seq::scope::clear ()
 Clears all scopes from the stack.
 
auto seq::scope::get_current () -> const std::string &
 Gets the name of the current scope.
 
void seq::scope::stop_all (const std::string &scope)
 Stops all actions within the specified scope.
 
void seq::scope::pause_all (const std::string &scope)
 Pauses all actions within the specified scope.
 
void seq::scope::resume_all (const std::string &scope)
 Resumes all actions within the specified scope.
 
void seq::scope::pause_all (const std::string &scope, const std::string &key)
 Pauses all actions within the specified scope and key.
 
void seq::scope::resume_all (const std::string &scope, const std::string &key)
 Resumes all actions within the specified scope and key.
 
void seq::scope::stop_and_finish_all (const std::string &scope)
 Stops and finishes all actions within the specified scope.
 
void seq::scope::stop_when_finished_all (const std::string &scope)
 Marks all actions within the specified scope to stop when they finish.