Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 | 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 13x 13x 13x 13x 13x 13x 13x 13x 13x 13x 13x 13x 13x 13x 13x 13x 13x 13x 7x 7x 13x 13x 2x 2x 13x 13x 11x 11x 13x 13x 1x 1x 13x 13x 1x 1x 13x 13x 1x 1x 13x | import * as ROT from "rot-js";
import { GlyphInterface } from "../glyphs/index";
import { PositionInterface } from "../maps/index";
export interface DisplayInterface {
clear(): void;
draw(position: PositionInterface, glyph: GlyphInterface): void;
drawText(position: PositionInterface, text: string): number;
getContainer(): HTMLElement | null;
getHeight(): number;
getWidth(): number;
}
export class Display implements DisplayInterface {
protected height: number;
protected width: number;
private readonly display: ROT.Display;
public constructor(height: number, width: number) {
this.height = height;
this.width = width;
this.display = new ROT.Display({
forceSquareRatio: true,
height: this.height,
width: this.width,
});
}
public clear(): void {
return this.display.clear();
}
public draw(position: PositionInterface, glyph: GlyphInterface): void {
return this.display.draw(position.x, position.y, glyph.getChar(), glyph.getForeground(), glyph.getBackground());
}
public drawText(position: PositionInterface, text: string): number {
return this.display.drawText(position.x, position.y, text);
}
public getContainer(): HTMLElement | null {
return this.display.getContainer();
}
public getHeight(): number {
return this.height;
}
public getWidth(): number {
return this.width;
}
}
|