Om
1.0.0
A universal framework for multimedia simulation
|
An interface for objects that operate on the entities and components of an EngineContext. More...
#include <omEngineSystem.h>
Public Member Functions | |
virtual | ~EngineSystem () |
Destroy a system and release all internal resources. More... | |
virtual void | update (EngineContext &engine, const Time &dt) |
Update the state of the entities in the specified engine for the given timestep. More... | |
virtual void | addComponent (const ResourceType &type, void *component, EngineContext &engine) |
Update the internal state of the system for a component that was added to the engine. More... | |
virtual void | removeComponent (const ResourceType &type, void *component, EngineContext &engine) |
Update the internal state of the system for a component that was removed from the engine. More... | |
const SystemType & | getType () const |
Return an enum value indicating the semantic type of this engine system. More... | |
Protected Member Functions | |
EngineSystem () | |
Create a new engine system with the UNDEFINED system type. More... | |
EngineSystem (const SystemType &newSystemType) | |
Create a new engine system with the specified system type. More... | |
An interface for objects that operate on the entities and components of an EngineContext.
|
inlinevirtual |
Destroy a system and release all internal resources.
|
inlineprotected |
Create a new engine system with the UNDEFINED system type.
|
inlineprotected |
Create a new engine system with the specified system type.
|
inlinevirtual |
Update the state of the entities in the specified engine for the given timestep.
A child class can implement this method to perform operations on the components stored in the engine.
Reimplemented in om::engine::sound::SoundSystem, om::engine::base::SceneSystem, om::engine::base::ConnectionSystem, om::engine::base::InputSystem, om::engine::base::PrototypeSystem, om::engine::acoustics::AcousticSystem, om::engine::graphics::GraphicsSystem, om::engine::animation::AnimationSystem, and om::engine::physics::PhysicsSystem.
|
inlinevirtual |
Update the internal state of the system for a component that was added to the engine.
Reimplemented in om::engine::base::SceneSystem, om::engine::base::ConnectionSystem, and om::engine::base::PrototypeSystem.
|
inlinevirtual |
Update the internal state of the system for a component that was removed from the engine.
Reimplemented in om::engine::base::SceneSystem, om::engine::base::ConnectionSystem, and om::engine::base::PrototypeSystem.
|
inline |
Return an enum value indicating the semantic type of this engine system.