malwoden
Version:
   
18 lines (17 loc) • 746 B
TypeScript
import { Vector2 } from "./vector";
export declare class Table<T> {
items: T[];
readonly width: number;
readonly height: number;
constructor(width: number, height: number);
fill(value: T): void;
get({ x, y }: Vector2): T | undefined;
set(pos: Vector2, item: T | undefined): void;
clear(pos: Vector2): void;
isInBounds({ x, y }: Vector2): boolean;
getNeighbors(pos: Vector2, predicate?: (pos: Vector2, t: T | undefined) => Boolean, topology?: "four" | "eight"): Vector2[];
floodFillSelect(pos: Vector2, targetValue?: T | undefined): Vector2[];
filter(match: (v: Vector2, val: T | undefined) => boolean): Vector2[];
clone(): Table<T>;
isSameSize(other: Table<T>): boolean;
}