Component
Defined in: Component.ts:17
Base class for all components.
Components are the primary authoring model. Game developers write behavior
in components using optional update(dt) and fixedUpdate(dt) methods.
The built-in ComponentUpdateSystem calls these methods automatically.
Extended by
Section titled “Extended by”Constructors
Section titled “Constructors”Constructor
Section titled “Constructor”new Component():
Component
Returns
Section titled “Returns”Component
Properties
Section titled “Properties”entity
Section titled “entity”entity:
Entity
Defined in: Component.ts:22
Back-reference to the owning entity. Set by the engine when the component is added to an entity. Do not set manually.
restorePriority?
Section titled “restorePriority?”
staticoptionalrestorePriority?:number
Defined in: Component.ts:345
Snapshot restore order. On load, an entity’s components are re-added in
ascending priority, so a component whose onAdd() reads a sibling can
rely on lower-priority siblings being present and initialized.
Undeclared = 100. Engine components reserve 0-99; game and addon
components declare a value only when a sibling onAdd() dependency
requires it. Equal priorities restore in save-time add order.
Subclasses inherit their base class’s priority unless they declare
their own.
updatePriority?
Section titled “updatePriority?”
staticoptionalupdatePriority?:number
Defined in: Component.ts:361
Class-level default for updatePriority: every instance runs at
this priority unless its own updatePriority is written. Undeclared = 0.
Subclasses inherit their base class’s value unless they declare their
own. Declare it on a component whose behavior depends on running after
(or before) a sibling, so the entity that adds it does not have to
control the add order.
class BoundsClamp extends Component { static updatePriority = 10; // after the follow that moves the camera}Accessors
Section titled “Accessors”context
Section titled “context”Get Signature
Section titled “Get Signature”get context():
EngineContext
Defined in: Component.ts:109
Access the EngineContext from the entity’s scene. Throws if the entity is not in a scene.
Returns
Section titled “Returns”effectiveEnabled
Section titled “effectiveEnabled”Get Signature
Section titled “Get Signature”get effectiveEnabled():
boolean
Defined in: Component.ts:56
Whether the component is actually running: enabled, on an active
entity, and past onAdd. This is the state onEnable and
onDisable track — read it when a method has to behave one way
live and another way dormant.
Returns
Section titled “Returns”boolean
enabled
Section titled “enabled”Get Signature
Section titled “Get Signature”get enabled():
boolean
Defined in: Component.ts:40
Whether this component runs. Disabled components are skipped by ComponentUpdateSystem.
Writing this fires onEnable / onDisable when the
effective state changes — enabled && entity.isActive. A component
disabled here stays disabled through a setActive(false) /
setActive(true) cycle on its entity.
Returns
Section titled “Returns”boolean
Set Signature
Section titled “Set Signature”set enabled(
value):void
Defined in: Component.ts:44
Parameters
Section titled “Parameters”boolean
Returns
Section titled “Returns”void
Get Signature
Section titled “Get Signature”get scene():
Scene
Defined in: Component.ts:95
Access the entity’s scene. Throws if the entity is not in a scene.
Prefer this over threading through this.entity.scene in component
code.
Returns
Section titled “Returns”updatePriority
Section titled “updatePriority”Get Signature
Section titled “Get Signature”get updatePriority():
number
Defined in: Component.ts:77
Where this component runs among its siblings. ComponentUpdateSystem
calls update / fixedUpdate on an entity’s components in ascending
priority; equal priorities run in add order. Undeclared = 0, so a
negative value runs before siblings that keep the default and a positive
value runs after them. Writable at any time, before or after add().
Defaults to the class’s static updatePriority.
class Player extends Entity { setup() { this.add(new Mover()); this.add(new Brain()).updatePriority = -1; // decides before Mover moves }}Returns
Section titled “Returns”number
Set Signature
Section titled “Set Signature”set updatePriority(
value):void
Defined in: Component.ts:85
Parameters
Section titled “Parameters”number
Returns
Section titled “Returns”void
Methods
Section titled “Methods”_applyEnabled()
Section titled “_applyEnabled()”_applyEnabled(
effective):void
Defined in: Component.ts:274
Internal
Force an effective-enabled transition, firing the hook on a flip. Used by
Entity for teardown, where enabled and the entity’s activeness both
still read true.
Parameters
Section titled “Parameters”effective
Section titled “effective”boolean
Returns
Section titled “Returns”void
_refreshEnabled()
Section titled “_refreshEnabled()”_refreshEnabled():
void
Defined in: Component.ts:263
Internal
Recompute effective enabled-ness from enabled and the entity’s
activeness, firing the hook on a flip.
Returns
Section titled “Returns”void
_runCleanups()
Section titled “_runCleanups()”_runCleanups():
void
Defined in: Component.ts:249
Internal
Run and clear all registered cleanups. Called by Entity.remove() and Entity._performDestroy() before onRemove/onDestroy.
Returns
Section titled “Returns”void
addCleanup()
Section titled “addCleanup()”
protectedaddCleanup(fn):void
Defined in: Component.ts:239
Register a cleanup function to run when this component is removed or destroyed.
Parameters
Section titled “Parameters”() => void
Returns
Section titled “Returns”void
afterRestore()?
Section titled “afterRestore()?”
optionalafterRestore(data,resolve):void
Defined in: Component.ts:367
Called after onAdd() during save/load restoration. Apply state that depends on onAdd() having run.
Parameters
Section titled “Parameters”unknown
resolve
Section titled “resolve”Returns
Section titled “Returns”void
fixedUpdate()?
Section titled “fixedUpdate()?”
optionalfixedUpdate(dt):void
Defined in: Component.ts:333
Called every fixed timestep by the built-in ComponentUpdateSystem.
Parameters
Section titled “Parameters”number
Fixed timestep in seconds, scaled by scene and entity timeScale.
Returns
Section titled “Returns”void
listen()
Section titled “listen()”
protectedlisten<T>(entity,token,handler):void
Defined in: Component.ts:216
Subscribe to events on any entity, auto-unsubscribe on removal.
Type Parameters
Section titled “Type Parameters”T
Parameters
Section titled “Parameters”entity
Section titled “entity”EventToken<T>
handler
Section titled “handler”(data) => void
Returns
Section titled “Returns”void
listenScene()
Section titled “listenScene()”
protectedlistenScene<T>(token,handler):void
Defined in: Component.ts:230
Subscribe to scene-level events, auto-unsubscribe on removal. Handlers
fire for bubbled entity events (entity = source) and scene.emit
events (entity = undefined).
Type Parameters
Section titled “Type Parameters”T
Parameters
Section titled “Parameters”EventToken<T>
handler
Section titled “handler”(data, entity?) => void
Returns
Section titled “Returns”void
onAdd()?
Section titled “onAdd()?”
optionalonAdd():void
Defined in: Component.ts:296
Called when the component is added to an entity. Validate dependencies
here — a service, a sibling component, a render layer — and throw when
one is missing. The throw is attributed to this component, recorded in
Inspector.getErrors().callbackErrors, and rethrown, so it reaches the
caller of entity.add() unchanged.
Returns
Section titled “Returns”void
onDestroy()?
Section titled “onDestroy()?”
optionalonDestroy():void
Defined in: Component.ts:321
Called when the component is destroyed (entity destroyed or component removed).
Returns
Section titled “Returns”void
onDisable()?
Section titled “onDisable()?”
optionalonDisable():void
Defined in: Component.ts:315
Called when the component stops being effectively enabled — enabled
went false, the entity (or an ancestor) was deactivated, or the
component is being removed or destroyed. Put live resources to sleep
here; the component is reused afterwards, so do not free anything
onEnable cannot rebuild.
Returns
Section titled “Returns”void
onEnable()?
Section titled “onEnable()?”
optionalonEnable():void
Defined in: Component.ts:306
Called when the component becomes effectively enabled — enabled is
true and the entity is active. Fires right after onAdd() for a
component added to an active entity, and again on every later flip.
Bring live resources back online here (unpause a sound, show a display
object, re-enable a physics body). Game-state reset does not belong here:
the hook sees whatever state the component held while dormant.
Returns
Section titled “Returns”void
onRemove()?
Section titled “onRemove()?”
optionalonRemove():void
Defined in: Component.ts:318
Called when the component is removed from an entity.
Returns
Section titled “Returns”void
serialize()?
Section titled “serialize()?”
optionalserialize():unknown
Defined in: Component.ts:364
Return a JSON-serializable snapshot of this component’s state. Used by the save system.
Returns
Section titled “Returns”unknown
service()
Section titled “service()”
protectedservice<T>(key):T
Defined in: Component.ts:172
Lazy proxy-based service resolution. Can be used at field-declaration time:
readonly input = this.service(InputManagerKey);The actual resolution is deferred until first property access.
Type Parameters
Section titled “Type Parameters”T extends object
Parameters
Section titled “Parameters”ServiceKey<T>
Returns
Section titled “Returns”T
sibling()
Section titled “sibling()”
protectedsibling<C>(cls):C
Defined in: Component.ts:197
Lazy proxy-based sibling component resolution. Can be used at field-declaration time:
readonly anim = this.sibling(AnimatedSpriteComponent);The actual resolution is deferred until first property access.
Type Parameters
Section titled “Type Parameters”C extends Component
Parameters
Section titled “Parameters”Returns
Section titled “Returns”C
update()?
Section titled “update()?”
optionalupdate(dt):void
Defined in: Component.ts:327
Called every frame by the built-in ComponentUpdateSystem.
Parameters
Section titled “Parameters”number
Frame delta in seconds, scaled by scene and entity timeScale.
Returns
Section titled “Returns”void
protecteduse<T>(key):T
Defined in: Component.ts:120
Resolve a service by key, cached after first lookup. Scene-scoped values
(registered via scene._registerScoped) take precedence over engine
scope. A key declared with scope: "scene" that falls back to engine
scope emits a one-shot dev warning — almost always signals a missed
beforeEnter hook.
Type Parameters
Section titled “Type Parameters”T
Parameters
Section titled “Parameters”ServiceKey<T>
Returns
Section titled “Returns”T