gridboard
Version:
A Grid-Based Games Framework For TypeScript/JavaScript
24 lines (23 loc) • 1.15 kB
TypeScript
import GridBoard from "./GridBoard";
import Direction from "./Direction";
import { CoordinateConverter, CoordinateConvert } from "./interfaces";
declare class Grid<GridPiece = any, GridState = never> {
i: number;
x: number;
y: number;
board: GridBoard<GridPiece, GridState>;
piece?: GridPiece;
state: GridState;
constructor(x: number, y: number, board: GridBoard<GridPiece, GridState>);
getGridByRelativeCoordinate(dx: number, dy: number, convert?: CoordinateConvert): Grid<GridPiece, GridState> | null;
getGridByRelativeCoordinate(dx: number, dy: number, converter?: CoordinateConverter): Grid<GridPiece, GridState> | null;
getGridByRelativeCoordinate(direction: Direction, convert?: CoordinateConvert): Grid<GridPiece, GridState> | null;
getGridByRelativeCoordinate(direction: Direction, converter?: CoordinateConverter): Grid<GridPiece, GridState> | null;
}
interface Grid<GridPiece, GridState> {
getGridTo: {
(x: number, y: number): Grid<GridPiece, GridState> | null;
(direction: Direction): Grid<GridPiece, GridState> | null;
};
}
export default Grid;