Unravel Engine C++ Reference
Loading...
Searching...
No Matches
seq_internal.cpp
Go to the documentation of this file.
1#include "seq_internal.h"
2
3#include "../seq_manager.h"
4#include <vector>
5
6namespace seq
7{
8namespace detail
9{
10
12{
13 static seq_manager manager_;
14 return manager_;
15}
16
17auto get_manager_stack() -> std::vector<seq_manager*>&
18{
19 static std::vector<seq_manager*> stack{&get_global_manager()};
20 return stack;
21}
22
24{
25 auto& stack = get_manager_stack();
26 return *stack.back();
27}
28
29void push(seq_manager& mgr)
30{
31 auto& stack = get_manager_stack();
32 stack.push_back(&mgr);
33}
34void pop()
35{
36 auto& stack = get_manager_stack();
37 if(stack.size() > 1)
38 {
39 stack.pop_back();
40 }
41}
42
43} // namespace detail
44} // namespace seq
auto get_manager() -> seq_manager &
auto get_global_manager() -> seq_manager &
void push(seq_manager &mgr)
auto get_manager_stack() -> std::vector< seq_manager * > &
Provides a sequence-based action management system for controlling and scheduling actions.
Manages and coordinates multiple sequence actions with scoping, pausing, and updating capabilities.
Definition seq_manager.h:18