Skip to content

Class: ActiveSystem ​

Top-down DFS: activeInHierarchy = parent.activeInHierarchy && self.active. Other systems gate on this so disabling an entity hides its whole subtree. The same walk derives underCanvas (has a Canvas on itself or an ancestor) for the 2D-renders-only-in-a-Canvas rule.

Skips the walk when nothing changed since last frame — checked via the dirty flag on each ActiveComponent (set by the auto-dirty setter when .active flips) plus a subscription to ActiveComponent adds. With a 50k-entity tree whose active never flips, the steady-state cost drops from a recursive DFS to a single linear scan of dirty bits.

Extends ​

Constructors ​

Constructor ​

ts
new ActiveSystem(): ActiveSystem;

Returns ​

ActiveSystem

Inherited from ​

System.constructor

Properties ​

PropertyModifierTypeDefault valueInherited from
enabledpublicbooleantrueSystem.enabled
parallelpublicbooleanfalseSystem.parallel

Methods ​

GetName() ​

ts
GetName(): string;

Returns ​

string

Overrides ​

System.GetName


GetOrder() ​

ts
GetOrder(): SystemOrder;

Returns ​

SystemOrder


GetPhase() ​

ts
GetPhase(): SystemPhase;

Returns ​

SystemPhase

Overrides ​

System.GetPhase


OnClose() ​

ts
OnClose(): void;

Returns ​

void

Inherited from ​

System.OnClose


OnInit() ​

ts
OnInit(_engine): void;

Parameters ​

ParameterType
_engineIEngine

Returns ​

void

Inherited from ​

System.OnInit


OnRender() ​

ts
OnRender(scene, _renderer): void;

Parameters ​

ParameterType
sceneScene
_rendererIRenderer

Returns ​

void

Overrides ​

System.OnRender


OnRendererChanged() ​

ts
OnRendererChanged(_renderer): void;

Parameters ​

ParameterType
_rendererIRenderer

Returns ​

void

Inherited from ​

System.OnRendererChanged


OnStart() ​

ts
OnStart(scene, _renderer): void;

Parameters ​

ParameterType
sceneScene
_rendererIRenderer

Returns ​

void

Overrides ​

System.OnStart


OnStop() ​

ts
OnStop(_scene): void;

Parameters ​

ParameterType
_sceneScene

Returns ​

void

Overrides ​

System.OnStop


OnUpdate() ​

ts
OnUpdate(_scene, _dt): void | Promise<void>;

Parameters ​

ParameterType
_sceneScene
_dtnumber

Returns ​

void | Promise<void>

Inherited from ​

System.OnUpdate


Refresh() ​

ts
Refresh(scene): void;

The walk, when something changed. Also run before the update phases (ActiveUpdateSystem), so update systems gating on activeInHierarchy see this tick's state — a freshly loaded scene's inactive entities included.

Parameters ​

ParameterType
sceneScene

Returns ​

void

© 2026 PlayAdGentic