UNPKG

@amarillion/helixgraph

Version:

A collection of graph algorithms for game development

31 lines (30 loc) 1.08 kB
export type DirectionType = 1 | 2 | 4 | 8; export declare const NORTH: DirectionType; export declare const EAST: DirectionType; export declare const SOUTH: DirectionType; export declare const WEST: DirectionType; export declare class TemplateGrid<T> { cellFactory: (x: number, y: number, parent: unknown) => T; width: number; height: number; _data: T[]; constructor(width: number, height: number, cellFactory: (x: number, y: number, parent: unknown) => T); applyMask(mask: string[]): this; _prepareGrid(): any[]; randomCell(prng?: () => number): T; _index(x: number, y: number): number; remove(x: number, y: number): void; get(x: number, y: number): T; inRange(x: number, y: number): boolean; eachNode(): Generator<T, void, unknown>; getAdjacent(n: { x: number; y: number; }): Generator<[DirectionType, T]>; } export declare class BaseGrid extends TemplateGrid<unknown> { constructor(width: number, height: number, cellFactory?: (x: number, y: number) => { x: number; y: number; }); }