Remove occupancy grid -- map maker can handle it

This commit is contained in:
Ian Gulliver
2021-05-09 22:09:06 +00:00
parent 4651eeb335
commit 5e9a00ef76
12 changed files with 84 additions and 263 deletions

View File

@@ -5,8 +5,6 @@ export class Grid {
#prnt: HTMLElement;
#tileset: string;
#layers: Map<string, Layer> = new Map<string, Layer>();
#size_x: number;
#size_y: number;
constructor(prnt: HTMLElement) {
this.#prnt = prnt;
@@ -14,20 +12,13 @@ export class Grid {
}
set_size(x: number, y: number) {
this.#size_x = x;
this.#size_y = y;
// TODO: Notify layers if shrink
this.#prnt.style.gridTemplateColumns = `repeat(${x}, 1fr)`;
this.#prnt.style.gridTemplateRows = `repeat(${y}, 1fr)`;
// TODO: Notify layers if expand
}
set_tileset(set: string) {
this.#tileset = set;
this.#prnt.style.backgroundImage = this.get_url('land');
this.#prnt.style.backgroundImage = `url("images/${this.#tileset}/land.svg")`;
// TODO: Notify layers
}
@@ -37,7 +28,7 @@ export class Grid {
for (const name of newNames) {
if (!this.#layers.has(name)) {
const layer = new Layer(this.#size_x, this.#size_y);
const layer = new Layer();
layer.set_tileset(this.#tileset);
this.#layers.set(name, layer);
}
@@ -58,19 +49,12 @@ export class Grid {
}
}
add_tile(layer: string, tile: Tile, x: number, y: number): boolean {
const elem = this.#layers.get(layer)?.add_tile(tile, x, y);
if (!elem) {
return false;
}
add_tile(layer: string, tile: Tile, x: number, y: number) {
const elem = this.#layers.get(layer)!.add_tile(tile);
// Grids are 1-indexed
elem.style.gridColumnStart = `${x + 1}`;
elem.style.gridRowStart = `${y + 1}`;
this.#prnt.appendChild(elem);
return true;
}
private get_url(tile: string) {
return `url("images/${this.#tileset}/${tile}.svg")`;
}
}