excalibur
Version:
Excalibur.js is a simple JavaScript game engine with TypeScript bindings for making 2D games in HTML5 Canvas. Our mission is to make web game development as simple as possible.
36 lines (35 loc) • 1.07 kB
TypeScript
import { Entity } from './Entity';
import { World } from './World';
import { Scene } from '../Scene';
export declare class EntityManager {
private _world;
entities: Entity[];
_entityIndex: {
[entityId: string]: Entity;
};
private _childAddedHandlerMap;
private _childRemovedHandlerMap;
constructor(_world: World);
/**
* Runs the entity lifecycle
* @param scene
* @param elapsed
*/
updateEntities(scene: Scene, elapsed: number): void;
findEntitiesForRemoval(): void;
private _createChildAddedHandler;
private _createChildRemovedHandler;
/**
* Adds an entity to be tracked by the EntityManager
* @param entity
*/
addEntity(entity: Entity): void;
removeEntity(entity: Entity, deferred?: boolean): void;
removeEntity(id: number, deferred?: boolean): void;
private _entitiesToRemove;
processEntityRemovals(): void;
processComponentRemovals(): void;
getById(id: number): Entity | undefined;
getByName(name: string): Entity[];
clear(): void;
}