![]() |
galaxy 1.0.0
Real-Time C++23 Game Programming Framework. Built on data-driven design principles and agile software engineering.
|
Manages the systems assigned to it. More...
#include <SystemManager.hpp>
Collaboration diagram for galaxy::SystemManager:Public Member Functions | |
| SystemManager () noexcept | |
| Constructor. | |
| SystemManager (SystemManager &&) noexcept | |
| Move constructor. | |
| SystemManager & | operator= (SystemManager &&) noexcept |
| Move assignment operator. | |
| ~SystemManager () noexcept | |
| Destructor. | |
| void | add_system (const std::string &system) |
| Add a system to operate on entities in this scene. | |
| void | update (EntityManager &em, Scene *scene) |
| Process all systems. | |
| void | suspend () noexcept |
| Suspend all running systems. | |
| void | resume () noexcept |
| Resume all systems. | |
| void | clear () |
| Remove all systems. | |
| SystemStack & | stack () noexcept |
| Get list of systems. | |
Private Member Functions | |
| SystemManager & | operator= (const SystemManager &)=delete |
| Copy assignment operator. | |
| SystemManager (const SystemManager &)=delete | |
| Copy constructor. | |
Private Attributes | |
| SystemStack | m_systems |
| List of systems to process. | |
| bool | m_suspended |
| Are systems allowed to run. | |
Manages the systems assigned to it.
A system belongs to a scene and operates on it and the shared entities.
Definition at line 22 of file SystemManager.hpp.
|
noexcept |
Constructor.
Definition at line 12 of file SystemManager.cpp.
|
noexcept |
Move constructor.
Definition at line 17 of file SystemManager.cpp.
|
noexcept |
Destructor.
Definition at line 34 of file SystemManager.cpp.
|
privatedelete |
Copy constructor.
|
noexcept |
Move assignment operator.
Definition at line 23 of file SystemManager.cpp.
| void galaxy::SystemManager::add_system | ( | const std::string & | system | ) |
Add a system to operate on entities in this scene.
Scene is called in order of adding. So i.e. if you add anim then render, systems are called in that order.
| system | Name of system to add to this scene. |
Definition at line 38 of file SystemManager.cpp.
Here is the caller graph for this function:| void galaxy::SystemManager::update | ( | EntityManager & | em, |
| Scene * | scene ) |
Process all systems.
| em | Entities to process. |
| scene | Scene this system belongs to. |
Definition at line 44 of file SystemManager.cpp.
Here is the caller graph for this function:
|
noexcept |
Suspend all running systems.
Definition at line 55 of file SystemManager.cpp.
Here is the caller graph for this function:
|
noexcept |
Resume all systems.
Definition at line 60 of file SystemManager.cpp.
Here is the caller graph for this function:| void galaxy::SystemManager::clear | ( | ) |
Remove all systems.
Definition at line 65 of file SystemManager.cpp.
Here is the caller graph for this function:
|
nodiscardnoexcept |
Get list of systems.
Definition at line 70 of file SystemManager.cpp.
Here is the caller graph for this function:
|
privatedelete |
Copy assignment operator.
|
private |
List of systems to process.
Definition at line 99 of file SystemManager.hpp.
|
private |
Are systems allowed to run.
Definition at line 104 of file SystemManager.hpp.