assassin-bug/framework/game/scenes/ecs-scene.d.ts

30 lines
1.1 KiB
TypeScript
Raw Normal View History

2022-11-26 01:22:02 +00:00
import { Scene } from '../../scene/scene';
import { World } from '../../ecs/index';
import { Game } from '..';
import { Component } from '../../ecs/component';
import { System } from '../../ecs/system';
import { Entity } from '../../ecs/entity';
import { Query } from '../../ecs/query';
import { SceneManager } from '../../scene/manager';
export declare class ECSScene implements Scene {
instance: Game;
id: string;
world: World;
running: boolean;
data: any;
constructor(instance: Game);
update(): void;
updateDraw(): boolean;
onActivate(manager: SceneManager): void;
onDeactivate(): void;
onSwitch(): void;
createEntity(components: Array<Component<any>>): Entity;
createComponent<T>(props: T): Component<T>;
createSystem(systemExecutor: Function): void;
addSystem(system: System): void;
addEntity(entity: Entity): void;
removeEntity(entity: Entity): void;
createQuery(include: Array<Component<any>>, exclude: Array<Component<any>>): Query;
extendEntity(entity: Entity, components: Array<Component<any>>): Entity;
}