UNPKG

@valeera/x

Version:

ECS framework written in TS for web application.

31 lines (30 loc) 1.16 kB
import { Entity } from "./Entity"; import { World } from "./World"; export type TQueryRule = (entity: Entity) => boolean; export declare class System { readonly id: number; readonly isSystem = true; name: string; loopTimes: number; entitySet: WeakMap<World, Set<Entity>>; usedBy: World[]; autoUpdate: boolean; handler: (entity: Entity, time: number, delta: number, world: World) => any; protected currentDelta: number; protected currentTime: number; protected currentWorld: World | null; protected rule: TQueryRule; private _disabled; private _priority; get disabled(): boolean; set disabled(value: boolean); get priority(): number; set priority(v: number); constructor(fitRule: TQueryRule, handler?: (entity: Entity, time: number, delta: number, world: World) => any, name?: string); checkEntityManager(world: World): this; query(entity: Entity): boolean; run(world: World, time: number, delta: number): this; destroy(): this; handle(entity: Entity, time: number, delta: number, world: World): this; } export type SystemConstructor = new (...a: any[]) => System;