UNPKG

@curbl/ecs

Version:

Small Entity Component System

20 lines (19 loc) 714 B
import { Bitmask } from './bitmask'; import { Entity } from './entity'; export declare type OnEntityAdded = { onEntityAdded: (_: Entity) => void; }; export declare type OnEntityRemoved = { onEntityRemoved: (_: Entity) => void; }; export declare class QueryStore { private readonly queries; registerQuery(entities: IterableIterator<Entity>, bitmask: Bitmask): [Entity[], Bitmask]; addQueryOnAdded(bitmask: Bitmask, ctx: OnEntityAdded): void; addQueryOnRemoved(bitmask: Bitmask, ctx: OnEntityRemoved): void; private static callEntityAdded; private static callEntityRemoved; private static updateQuery; update(modified: Entity[]): void; clear(): void; }