@hiddentao/clockwork-engine
Version:
A TypeScript/PIXI.js game engine for deterministic, replayable games with built-in rendering
27 lines • 1.04 kB
TypeScript
import { EventEmitter } from "../EventEmitter";
import type { ICollisionSource } from "./ICollisionSource";
import type { Vector2D } from "./Vector2D";
/**
* Events emitted by CollisionGrid
*/
export declare enum CollisionGridEventType {
POINTS_CHANGED = "pointsChanged"
}
export interface CollisionGridEvents extends Record<string, (...args: any[]) => void> {
[CollisionGridEventType.POINTS_CHANGED]: () => void;
}
/**
* CollisionGrid uses direct coordinate mapping for extremely fast collision detection
*/
export declare class CollisionGrid extends EventEmitter<CollisionGridEvents> {
protected gridMap: Map<string, ICollisionSource[]>;
protected sourceMap: Map<string, Set<string>>;
constructor();
add(point: Vector2D, source: ICollisionSource): boolean;
remove(point: Vector2D, source: ICollisionSource): boolean;
removeSource(source: ICollisionSource): boolean;
containsPoint(point: Vector2D): ICollisionSource[];
clear(): void;
private getKey;
}
//# sourceMappingURL=CollisionGrid.d.ts.map