import { Game2D } from '../../core/2d'; import { System2D } from './system.2d'; /** * Built-in concrete 2D Collision System, handling the collision testing of two dimensional Entities which are capable of colliding with one * another * * To be eligible for collision, an Entity must have a Transform2D and a BoxCollider2D */ export declare class Collision2D extends System2D { /** Provide the System's name */ readonly name = "Collision2D"; /** Simple array of `id-id` collision strings, used for tracking Entity-Entity collisions and invoking correct collision callbacks */ private collisions; /** * Concrete tick lifecycle method implementing the Collision System's per-frame functionality * * Check for collision between all eligible Entities and call their collision handling methods as appropriate * * @param game the Game2D the System is running within */ tick(game: Game2D): void; /** * Actual collision detection method. Just checks whether the BoxColliders of the two entities, positioned correctly, overlap * * @param e1 the first Entity * @param e2 the second Entity * * @returns a boolean indicating whether or not the two Entities collide */ private collides; }