@erikyuzwa/rogue-punk
Version:
a JavaScript library to help you build your roguelike adventures
36 lines (35 loc) • 1.22 kB
TypeScript
import { Entity } from './Entity';
import * as ROT from 'rot-js';
import { Tile } from './Tile';
import { Vector3d } from './Vector3d';
import { Item } from './Item';
export declare class Map {
private height;
private width;
private depth;
private tiles;
private entities;
private items;
private engine;
private scheduler;
private player;
constructor(tiles: Array<[]>, player: Entity);
getWidth(): number;
getHeight(): number;
getDepth(): number;
getTile(pos: Vector3d): Tile;
dig(pos: Vector3d): void;
getRandomFloorPosition(z: number): Vector3d;
getEngine(): ROT.Engine;
getEntities(): {};
getEntityAt(x: number, y: number, z: number): Entity | null;
addEntity(entity: Entity): void;
addEntityAtRandomPosition(entity: Entity, z: number): void;
removeEntity(entity: Entity): void;
updateEntityPosition(entity: Entity, oldPosition?: Vector3d): void;
getItemsAt(x: number, y: number, z: number): any;
setItemsAt(x: number, y: number, z: number, items: Item[]): void;
addItem(x: number, y: number, z: number, item: Item): void;
addItemAtRandomPosition(item: Item, z: number): void;
getPlayer(): Entity;
}