import { Entity } from "./Entity"
import * as planck from 'planck'

export interface WorldContext {
  addEntity(entity: Entity, layerTitle: string, x: number, y: number): void
  removeEntity(entity: Entity): void
  queryAABB(aabb: planck.AABB, callback: (fixture: planck.Fixture) => boolean): void
  rayCast(point1: planck.Vec2, point2: planck.Vec2, callback: (fixture: planck.Fixture, pointer: planck.Vec2, normal: planck.Vec2, fraction: number) => boolean): void
  queryEntities(min: [number, number], max: [number, number]): Entity[]
}