import { Grid } from './Grid' ; import { Point , Tile } from './Components' ; export const UNIT = 1 ; /**
 * Describes an abstract navigator for a grid
 * Provides graph-like traversal for the grid
 * Determines where we can travel to from a certain point,
 * whether we have reached a destination, and the cost to
 * travel to a certain point
 */ abstract class Navigator { protected readonly grid : Grid ; constructor ( grid ) { this . grid = grid ; } getGrid ( ) { return this . grid ; } param a param b equals ( a , b ) { return a . x === b . x && a . y === b . y ; } param a param b abstract cost ( a , b ) ; param point abstract neighbors ( point ) ; abstract getType ( ) ; } export default Navigator ;