Skip to content

Interface: System<S, Q>

Defined in: packages/core/src/ecs/system.ts:46

System base interface wired to the IWSDK World, renderer, and XR runtime.

Remarks

  • createSystem(queries, schema) returns a class that implements this interface.
  • Config values are exposed as reactive Signals on this.config.<key>.
  • Common world resources are available as readonly properties (player, input, scene, camera, renderer, visibilityState).
  • Use cleanupFuncs.push(() => ...) to register teardown callbacks.

Extends

  • System<S, Q>

Extended by

Type Parameters

S

S extends SystemSchema

Q

Q extends SystemQueries

Properties

camera

readonly camera: PerspectiveCamera

Defined in: packages/core/src/ecs/system.ts:63


cleanupFuncs

readonly cleanupFuncs: () => void[]

Defined in: packages/core/src/ecs/system.ts:66

Returns

void


config

config: SystemConfigSignals<S>

Defined in: packages/core/src/ecs/system.ts:49

Overrides

ElicsSystem.config


createEntity()

createEntity: () => Entity

Defined in: packages/core/src/ecs/system.ts:81

Returns

Entity

Overrides

ElicsSystem.createEntity


globals

globals: Record<string, any>

Defined in: packages/core/src/ecs/system.ts:54

Overrides

ElicsSystem.globals


input

readonly input: InputManager

Defined in: packages/core/src/ecs/system.ts:61


isPaused

isPaused: boolean

Defined in: packages/core/src/ecs/system.ts:48

Overrides

ElicsSystem.isPaused


player

readonly player: XROrigin

Defined in: packages/core/src/ecs/system.ts:58


playerEntity

readonly playerEntity: Entity

Defined in: packages/core/src/ecs/system.ts:59


playerHeadEntity

readonly playerHeadEntity: Entity

Defined in: packages/core/src/ecs/system.ts:60


priority

priority: number

Defined in: packages/core/src/ecs/system.ts:53

Overrides

ElicsSystem.priority


queries

queries: Record<keyof Q, Query>

Defined in: packages/core/src/ecs/system.ts:50

Overrides

ElicsSystem.queries


queryManager

queryManager: QueryManager

Defined in: packages/core/src/ecs/system.ts:52

Overrides

ElicsSystem.queryManager


renderer

readonly renderer: WebGLRenderer

Defined in: packages/core/src/ecs/system.ts:64


scene

readonly scene: Scene

Defined in: packages/core/src/ecs/system.ts:62


visibilityState

readonly visibilityState: Signal<VisibilityState>

Defined in: packages/core/src/ecs/system.ts:65


world

world: World

Defined in: packages/core/src/ecs/system.ts:51

Overrides

ElicsSystem.world


xrFrame

xrFrame: XRFrame

Defined in: packages/core/src/ecs/system.ts:56


xrManager

xrManager: WebXRManager

Defined in: packages/core/src/ecs/system.ts:55

Methods

init()

init(): void

Defined in: packages/core/src/ecs/system.ts:68

Returns

void

Overrides

ElicsSystem.init


play()

play(): void

Defined in: packages/core/src/ecs/system.ts:79

Returns

void

Overrides

ElicsSystem.play


stop()

stop(): void

Defined in: packages/core/src/ecs/system.ts:80

Returns

void

Overrides

ElicsSystem.stop


update()

update(delta, time): void

Defined in: packages/core/src/ecs/system.ts:78

Per-frame tick. Both arguments are in seconds (Three.js Clock convention), not milliseconds.

Parameters

delta

number

Seconds since the previous frame.

time

number

Accumulated Clock.elapsedTime (seconds since the render loop started ticking the clock); monotonic across frames within a session.

Returns

void

Overrides

ElicsSystem.update

Privacy | Terms