Skip to content

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.

new Component(): Component

Component

enabled: boolean = true

Defined in: Component.ts:25

Whether this component is active. Disabled components are skipped by ComponentUpdateSystem.


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.

get context(): EngineContext

Defined in: Component.ts:49

Access the EngineContext from the entity’s scene. Throws if the entity is not in a scene.

EngineContext


get scene(): Scene

Defined in: Component.ts:35

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.

Scene

_runCleanups(): void

Defined in: Component.ts:189

Internal

Run and clear all registered cleanups. Called by Entity.remove() and Entity._performDestroy() before onRemove/onDestroy.

void


protected addCleanup(fn): void

Defined in: Component.ts:179

Register a cleanup function to run when this component is removed or destroyed.

() => void

void


optional afterRestore(data, resolve): void

Defined in: Component.ts:217

Called after onAdd() during save/load restoration. Apply state that depends on onAdd() having run.

unknown

SnapshotResolver

void


optional fixedUpdate(dt): void

Defined in: Component.ts:211

Called every fixed timestep by the built-in ComponentUpdateSystem.

number

void


protected listen<T>(entity, token, handler): void

Defined in: Component.ts:156

Subscribe to events on any entity, auto-unsubscribe on removal.

T

Entity

EventToken<T>

(data) => void

void


protected listenScene<T>(token, handler): void

Defined in: Component.ts:170

Subscribe to scene-level events, auto-unsubscribe on removal. Handlers fire for bubbled entity events (entity = source) and scene.emit events (entity = undefined).

T

EventToken<T>

(data, entity?) => void

void


optional onAdd(): void

Defined in: Component.ts:199

Called when the component is added to an entity.

void


optional onDestroy(): void

Defined in: Component.ts:205

Called when the component is destroyed (entity destroyed or component removed).

void


optional onRemove(): void

Defined in: Component.ts:202

Called when the component is removed from an entity.

void


optional serialize(): unknown

Defined in: Component.ts:214

Return a JSON-serializable snapshot of this component’s state. Used by the save system.

unknown


protected service<T>(key): T

Defined in: Component.ts:112

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.

T extends object

ServiceKey<T>

T


protected sibling<C>(cls): C

Defined in: Component.ts:137

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.

C extends Component

ComponentClass<C>

C


optional update(dt): void

Defined in: Component.ts:208

Called every frame by the built-in ComponentUpdateSystem.

number

void


protected use<T>(key): T

Defined in: Component.ts:60

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.

T

ServiceKey<T>

T