UNPKG

puzzlescript

Version:

Play PuzzleScript games in your terminal!

59 lines (58 loc) 2.1 kB
import { Level, SoundItem } from '../parser/astTypes'; import { Optional } from '../util'; import { IGameCode } from './BaseForLines'; import { CollisionLayer } from './collisionLayer'; import { GameMetadata } from './metadata'; import { SimpleRuleGroup } from './rule'; import { GameSprite, IGameTile } from './tile'; import { WinConditionSimple } from './winCondition'; export interface IGameNode { __source: { code: string; sourceOffset: number; }; __coverageCount: Optional<number>; __getSourceLineAndColumn(): { lineNum: number; colNum: number; }; __getLineAndColumnRange(): { start: { line: number; col: number; }; end: { line: number; col: number; }; }; toString(): string; toSourceString(): string; } export declare class GameData { readonly title: string; readonly metadata: GameMetadata; readonly objects: GameSprite[]; readonly legends: IGameTile[]; readonly sounds: Array<SoundItem<IGameTile>>; readonly collisionLayers: CollisionLayer[]; readonly rules: SimpleRuleGroup[]; readonly winConditions: WinConditionSimple[]; readonly levels: Array<Level<IGameTile>>; private readonly cacheSpriteSize; private cachedBackgroundSprite; private readonly letterSprites; constructor(source: IGameCode, title: string, metadata: GameMetadata, objects: GameSprite[], legends: IGameTile[], sounds: Array<SoundItem<IGameTile>>, collisionLayers: CollisionLayer[], rules: SimpleRuleGroup[], winConditions: WinConditionSimple[], levels: Array<Level<IGameTile>>); _getSpriteByName(name: string): GameSprite | null; _getTileByName(name: string): IGameTile | undefined; getSpriteByName(name: string): GameSprite; getTileByName(name: string): IGameTile; getMagicBackgroundSprite(): GameSprite | null; getPlayer(): IGameTile; clearCaches(): void; getSpriteSize(): { spriteHeight: number; spriteWidth: number; }; getLetterSprite(char: string): GameSprite; }