UNPKG

blob2d

Version:

Typed Modular 2D Game Engine for Web

24 lines (19 loc) 693 B
import {TAnyEntity, TAnyTilemap, TVector2} from '../../types'; export interface ISeparation<T extends number | TVector2> { magnitude: T; normal: TVector2; } export interface ICollisionsGroup<TChild> { resolve(deltaTime: number): void; removeChild(child: TChild): boolean; validate(): void; destroy(): void; } export type TCollisionStaticResponse< A extends TAnyEntity = TAnyEntity, B extends TAnyTilemap = TAnyTilemap > = (entity: A, tilemap: B, separation: ISeparation<TVector2>) => void; export type TCollisionDynamicResponse< A extends TAnyEntity = TAnyEntity, B extends TAnyEntity = TAnyEntity > = (entityA: A, entityB: B, separation: ISeparation<number>) => void;