Atlas
A Convenient Entity Component System
|
A manager for all Systems that are used. More...
#include <SystemManager.h>
Public Member Functions | |
SystemManager (World &world) | |
Creates a new SystemManager. More... | |
void | addSystem (System::Ptr system) |
Adds a new System. More... | |
template<typename T > | |
T * | getSystem () |
Retrieves a specified System. More... | |
void | update (float dt) |
Updates all Systems. More... | |
void | checkInterest (Entity &entity) |
Checks to see if the any Systems contained in the SystemManager is interested in an Entity based on which Components it owns. More... | |
template<typename T > | |
void | removeSystem () |
Removes a System. More... | |
void | toString () |
Prints the number of active Systems and the details of each of those Systems. More... | |
![]() | |
NonCopyable ()=default | |
Default Constructor. More... | |
virtual | ~NonCopyable () |
A manager for all Systems that are used.
Atlas::SystemManager::SystemManager | ( | World & | world | ) |
Creates a new SystemManager.
world | - the World object that owns this SystemManager |
void Atlas::SystemManager::addSystem | ( | System::Ptr | system | ) |
void Atlas::SystemManager::checkInterest | ( | Entity & | entity | ) |
Checks to see if the any Systems contained in the SystemManager is interested in an Entity based on which Components it owns.
entity | - the Entity to be checked |
|
inline |
Retrieves a specified System.
Usage Example:
void Atlas::SystemManager::removeSystem | ( | ) |
void Atlas::SystemManager::toString | ( | ) |
Prints the number of active Systems and the details of each of those Systems.
void Atlas::SystemManager::update | ( | float | dt | ) |
Updates all Systems.
Update order is based on the order that Systems are added to the SystemManager.
dt | - update time |