@logic-pad/core
Version:
39 lines (38 loc) • 1.54 kB
TypeScript
import { AnyConfig } from '../config.js';
import { SymbolDisplayHandler } from '../events/onSymbolDisplay.js';
import GridData from '../grid.js';
import { State } from '../primitives.js';
import Symbol from './symbol.js';
export default class HiddenSymbol extends Symbol implements SymbolDisplayHandler {
readonly x: number;
readonly y: number;
readonly revealLocation: boolean;
readonly title = "Hidden Symbol Marker";
get configExplanation(): string;
private static readonly CONFIGS;
private static readonly EXAMPLE_GRID;
/**
* **Hidden Symbols: color cells correctly to reveal more clues**
*
* @param x - The x-coordinate of the symbol.
* @param y - The y-coordinate of the symbol.
* @param revealLocation - Whether to reveal the location of the symbol.
*/
constructor(x: number, y: number, revealLocation?: boolean);
get id(): string;
get explanation(): string;
get configs(): readonly AnyConfig[] | null;
createExampleGrid(): GridData;
get necessaryForCompletion(): boolean;
get visibleWhenSolving(): boolean;
get sortOrder(): number;
validateSymbol(grid: GridData, solution: GridData | null): State;
onSymbolDisplay(grid: GridData, solution: GridData | null, symbol: Symbol, editing: boolean): boolean;
copyWith({ x, y, revealLocation, }: {
x?: number;
y?: number;
revealLocation?: boolean;
}): this;
withRevealLocation(revealLocation: boolean): this;
}
export declare const instance: HiddenSymbol;