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.
41 lines (40 loc) • 1.37 kB
TypeScript
import { System, TransformComponent, SystemType, World, Query } from '../EntityComponentSystem';
import { Scene } from '../Scene';
import { PointerComponent } from './PointerComponent';
/**
* The PointerSystem is responsible for dispatching pointer events to entities
* that need them.
*
* The PointerSystem can be optionally configured by the {@apilink PointerComponent}, by default Entities use
* the {@apilink Collider}'s shape for pointer events.
*/
export declare class PointerSystem extends System {
world: World;
static priority: -5;
readonly systemType = SystemType.Update;
private _engine;
private _receivers;
private _engineReceiver;
private _graphicsHashGrid;
private _graphics;
private _entityToPointer;
private _pointerEventDispatcher;
query: Query<typeof TransformComponent | typeof PointerComponent>;
constructor(world: World);
/**
* Optionally override component configuration for all entities
*/
overrideUseColliderShape: boolean;
/**
* Optionally override component configuration for all entities
*/
overrideUseGraphicsBounds: boolean;
private _scene;
initialize(world: World, scene: Scene): void;
private _sortedTransforms;
private _sortedEntities;
private _zHasChanged;
private _zIndexUpdate;
preupdate(): void;
update(): void;
}