UNPKG

2d-physics-engine

Version:

A lightweight, flexible 2D physics engine with ECS architecture, built with TypeScript

30 lines 1.11 kB
import { AABB } from '../../math/AABB'; import { Component } from '../Component.abstract'; import { Transform } from '../Transform.component'; import { Entity } from '../../core/Entity'; import { CollisionInfo } from '../../systems/PhysicsSystem/CollisionDetector'; export interface CollisionEvent { otherEntity: Entity; otherCollider: Collider; otherTransform: Transform; collisionInfo: CollisionInfo; } export declare abstract class Collider extends Component { readonly componentId: symbol; abstract readonly colliderId: symbol; abstract calculateInertia(mass: number): number; abstract getAABB(transform: Transform): AABB; /** * Called when a collision starts (colliders first come into contact) */ onCollideEntry?(event: CollisionEvent): void; /** * Called every frame while colliders are in contact */ onCollideStay?(event: CollisionEvent): void; /** * Called when a collision ends (colliders are no longer in contact) */ onCollideExit?(event: CollisionEvent): void; } //# sourceMappingURL=Collider.abstract.d.ts.map