Class-based rendering

This commit is contained in:
Ian Gulliver
2021-05-09 04:58:29 +00:00
parent f3dee2adf0
commit a134f8c237
21 changed files with 515 additions and 37 deletions

View File

@@ -11,11 +11,13 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
}
return privateMap.get(receiver);
};
var _prnt, _tileset;
var _prnt, _tileset, _layers;
import { Layer } from './layer.js';
export class TowerMap {
constructor(prnt) {
_prnt.set(this, void 0);
_tileset.set(this, void 0);
_layers.set(this, new Map());
__classPrivateFieldSet(this, _prnt, prnt);
__classPrivateFieldGet(this, _prnt).style.display = 'grid';
}
@@ -27,9 +29,28 @@ export class TowerMap {
__classPrivateFieldSet(this, _tileset, set);
__classPrivateFieldGet(this, _prnt).style.backgroundImage = this.get_url('land');
}
set_layers(layers) {
const newNames = new Set(layers);
for (const name of newNames) {
if (!__classPrivateFieldGet(this, _layers).has(name)) {
__classPrivateFieldGet(this, _layers).set(name, new Layer());
}
}
for (const name of __classPrivateFieldGet(this, _layers).keys()) {
if (!newNames.has(name)) {
__classPrivateFieldGet(this, _layers).delete(name);
}
}
for (let i = 0; i < layers.length; i++) {
const name = layers[i];
const level = i + 1;
const layer = __classPrivateFieldGet(this, _layers).get(name);
layer.set_level(level);
}
}
get_url(tile) {
return `url("images/${__classPrivateFieldGet(this, _tileset)}/${tile}.svg")`;
}
}
_prnt = new WeakMap(), _tileset = new WeakMap();
_prnt = new WeakMap(), _tileset = new WeakMap(), _layers = new WeakMap();
//# sourceMappingURL=tower_map.js.map