19 this->m_systems = std::move(sm.m_systems);
20 this->m_suspended = sm.m_suspended;
27 this->m_systems = std::move(sm.m_systems);
28 this->m_suspended = sm.m_suspended;
40 auto& sf = entt::locator<SystemFactory>::value();
50 system->update(em, scene);
Class for making creating and managing entities easier.
Represents a scene in a game.
Manages the systems assigned to it.
void add_system(const std::string &system)
Add a system to operate on entities in this scene.
~SystemManager() noexcept
Destructor.
void clear()
Remove all systems.
bool m_suspended
Are systems allowed to run.
SystemManager & operator=(SystemManager &&) noexcept
Move assignment operator.
void resume() noexcept
Resume all systems.
SystemManager() noexcept
Constructor.
void suspend() noexcept
Suspend all running systems.
void update(EntityManager &em, Scene *scene)
Process all systems.
SystemStack & stack() noexcept
Get list of systems.
SystemStack m_systems
List of systems to process.
std::vector< std::shared_ptr< System > > SystemStack
System stack typedef.