puzzlescript
Version:
Play PuzzleScript games in your terminal!
59 lines (58 loc) • 2.1 kB
TypeScript
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;
}