UNPKG

puzzlescript

Version:

Play PuzzleScript games in your terminal!

52 lines (51 loc) 2.25 kB
import { CellSaveState } from '../engine'; import { GameData } from '../models/game'; import { A11Y_MESSAGE } from '../models/rule'; import { GameSprite } from '../models/tile'; import { Soundish } from '../parser/astTypes'; import { Cellish, GameEngineHandler, GameEngineHandlerOptional, INPUT_BUTTON, Optional } from '../util'; import BaseUI from './base'; declare class TableUI extends BaseUI implements GameEngineHandler { private readonly table; private readonly liveLog; private inputsProcessed; private tableCells; private handler; private interactsWithPlayer; private usedInMessages; private didPressCauseTick; private silencedOutput; private messagesSincePress; private isCollecting; private collectedSprites; private collectingTickCount; constructor(table: HTMLElement, handler?: GameEngineHandlerOptional); onPause(): void; onResume(): void; onGameChange(gameData: GameData): void; onPress(dir: INPUT_BUTTON): void; onLevelLoad(level: number, newLevelSize: Optional<{ rows: number; cols: number; }>): void; onLevelChange(levelNum: number, cells: Optional<Cellish[][]>, message: Optional<string>): void; onMessage(msg: string): Promise<void>; onWin(): void; onSound(sound: Soundish): Promise<void>; onTick(changedCells: Set<Cellish>, checkpoint: Optional<CellSaveState>, hasAgain: boolean, a11yMessages: Array<A11Y_MESSAGE<Cellish, GameSprite>>): void; willAllLevelsFitOnScreen(gameData: GameData): boolean; _drawPixel(x: number, y: number, fgHex: string, bgHex: Optional<string>, chars: string): void; clearScreen(): void; protected renderLevelScreen(levelRows: Cellish[][], renderScreenDepth: number): void; protected setPixel(x: number, y: number, hex: string, fgHex: Optional<string>, chars: string): void; protected drawCellsAfterRecentering(cells: Iterable<Cellish>, renderScreenDepth: number): void; protected checkIfCellCanBeDrawnOnScreen(cellStartX: number, cellStartY: number): boolean; protected getMaxSize(): { columns: number; rows: number; }; private printMessageLog; private markAcceptingInput; private _drawCell; } export default TableUI;