Skip to content

Function: createSystem()

createSystem<S, Q>(queries, schema): SystemConstructor<S, Q, World, System<S, Q>>

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

Create a strongly-typed System class with query bindings and reactive config.

Type Parameters

S

S extends SystemSchema

Q

Q extends SystemQueries

Parameters

queries

Q = ...

Elics query descriptors keyed by name.

schema

S = ...

Option map of config defaults and Types.

Returns

SystemConstructor<S, Q, World, System<S, Q>>

A System constructor to export class MySystem extends createSystem(...) { ... }.

Example

ts
export class Rotator extends createSystem({ items: { required: [Transform] } }, {
  speed: { type: Types.Float32, default: 1 }
}) {
  update(dt:number){ this.queries.items.entities.forEach(e=> e.object3D.rotateY(dt*this.config.speed.value)) }
}