Class System

Inheritance Relationships

Derived Types

Class Documentation

class System

ECS style System interface that allows iterating over components directly.

Subclassed by AnimationSystem, AudioSystem, DebugSystem, EditorSystem, GameRenderSystem, InputSystem, LightSystem, ParticleSystem, PauseSystem, PhysicsSystem, PlayerSystem, PostProcessSystem, RenderSystem, RenderUISystem, ScriptSystem, TransformAnimationSystem, TransformSystem, TriggerSystem, UISystem

Public Types

enum UpdateOrder

Values:

Input
Update
PostUpdate
Render
PostRender
RenderUI
UI
GameRender
Editor
Async
End

Public Functions

System(const String &name, const UpdateOrder &order, bool isGameplay)
System(System&)
virtual ~System()
virtual bool initialize(const JSON::json &systemData)
virtual void setConfig(const SceneSettings &sceneSettings)
virtual void begin()
virtual void update(float deltaMilliseconds)
virtual void end()
String getName() const
const UpdateOrder &getUpdateOrder() const
bool isActive() const
void setActive(bool enabled)
virtual void draw()

Public Static Functions

static const Vector<Vector<System *>> &GetSystems()
static void pause()
static void unPause()

Protected Attributes

String m_SystemName
UpdateOrder m_UpdateOrder
bool m_IsActive
bool m_IsSystemPaused

Protected Static Attributes

Vector<Vector<System *>> s_Systems

Friends

friend System::Entity