From b027777a08483ec1d0c1ba75cb9b3ed20847e5e2 Mon Sep 17 00:00:00 2001 From: Ian Gulliver Date: Tue, 11 May 2021 03:23:28 +0000 Subject: [PATCH] Encode layer name in tile factory, remove get_elem() --- js/grid.js | 11 ++-- js/grid.js.map | 2 +- js/layer.js | 2 +- js/layer.js.map | 2 +- js/layered_tile.js | 15 +++-- js/layered_tile.js.map | 2 +- js/layered_tile_factory.js | 2 +- js/layered_tile_factory.js.map | 2 +- js/shape.js | 10 --- js/shape.js.map | 1 - js/simple_tile_factory.js | 4 +- js/simple_tile_factory.js.map | 2 +- js/tile.js | 3 - js/tile.js.map | 2 +- js/tile_factory.js | 3 +- js/tile_factory.js.map | 2 +- js/tiles.js | 44 +++++++------- js/tiles.js.map | 2 +- js/tower.js | 108 ++++++++++++++++----------------- js/tower.js.map | 2 +- ts/grid.ts | 13 ++-- ts/layer.ts | 2 +- ts/layered_tile.ts | 15 +++-- ts/layered_tile_factory.ts | 6 +- ts/simple_tile_factory.ts | 4 +- ts/tile.ts | 4 -- ts/tile_factory.ts | 4 +- ts/tiles.ts | 44 +++++++------- ts/tower.ts | 108 ++++++++++++++++----------------- 29 files changed, 204 insertions(+), 217 deletions(-) delete mode 100644 js/shape.js delete mode 100644 js/shape.js.map diff --git a/js/grid.js b/js/grid.js index e294941..47a5207 100644 --- a/js/grid.js +++ b/js/grid.js @@ -52,13 +52,12 @@ export class Grid { layer.set_level(level); } } - add_tile(layer, tile_factory, x, y) { - const tile = __classPrivateFieldGet(this, _layers).get(layer).add_tile(tile_factory); - const elem = tile.get_elem(); + add_tile(tile_factory, x, y) { + const tile = __classPrivateFieldGet(this, _layers).get(tile_factory.layer_name).add_tile(tile_factory); // Grids are 1-indexed - elem.style.gridColumnStart = `${x + 1}`; - elem.style.gridRowStart = `${y + 1}`; - __classPrivateFieldGet(this, _prnt).appendChild(elem); + tile.elem.style.gridColumnStart = `${x + 1}`; + tile.elem.style.gridRowStart = `${y + 1}`; + __classPrivateFieldGet(this, _prnt).appendChild(tile.elem); return tile; } } diff --git a/js/grid.js.map b/js/grid.js.map index 3110d60..4793051 100644 --- a/js/grid.js.map +++ b/js/grid.js.map @@ -1 +1 @@ -{"version":3,"file":"grid.js","sourceRoot":"","sources":["../ts/grid.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAInC,MAAM,OAAO,IAAI;IAKf,YAAY,IAAiB;QAJ7B,wBAAmB;QACnB,2BAAiB;QACjB,kBAA8B,IAAI,GAAG,EAAiB,EAAC;QAGrD,uBAAA,IAAI,SAAS,IAAI,EAAC;QAClB,oCAAW,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;IACpC,CAAC;IAED,QAAQ,CAAC,CAAS,EAAE,CAAS;QAC3B,oCAAW,KAAK,CAAC,mBAAmB,GAAG,UAAU,CAAC,QAAQ,CAAC;QAC3D,oCAAW,KAAK,CAAC,gBAAgB,GAAG,UAAU,CAAC,QAAQ,CAAC;IAC1D,CAAC;IAED,WAAW,CAAC,GAAW;QACrB,uBAAA,IAAI,YAAY,GAAG,EAAC;QACpB,oCAAW,KAAK,CAAC,eAAe,GAAG,eAAe,sCAAa,aAAa,CAAC;QAE7E,sBAAsB;IACxB,CAAC;IAED,UAAU,CAAC,MAAgB;QACzB,MAAM,QAAQ,GAAgB,IAAI,GAAG,CAAS,MAAM,CAAC,CAAC;QAEtD,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE;YAC3B,IAAI,CAAC,sCAAa,GAAG,CAAC,IAAI,CAAC,EAAE;gBAC3B,MAAM,KAAK,GAAG,IAAI,KAAK,EAAE,CAAC;gBAC1B,KAAK,CAAC,WAAW,wCAAe,CAAC;gBACjC,sCAAa,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;aAC/B;SACF;QAED,KAAK,MAAM,IAAI,IAAI,sCAAa,IAAI,EAAE,EAAE;YACtC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;gBACvB,kCAAkC;gBAClC,sCAAa,MAAM,CAAC,IAAI,CAAC,CAAC;aAC3B;SACF;QAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACtC,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YACvB,MAAM,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC;YACpB,MAAM,KAAK,GAAG,sCAAa,GAAG,CAAC,IAAI,CAAE,CAAC;YACtC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;SACxB;IACH,CAAC;IAED,QAAQ,CAAC,KAAa,EAAE,YAAyB,EAAE,CAAS,EAAE,CAAS;QACrE,MAAM,IAAI,GAAG,sCAAa,GAAG,CAAC,KAAK,CAAE,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;QAC7D,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC7B,sBAAsB;QACtB,IAAI,CAAC,KAAK,CAAC,eAAe,GAAG,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;QACxC,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;QACrC,oCAAW,WAAW,CAAC,IAAI,CAAC,CAAC;QAC7B,OAAO,IAAI,CAAC;IACd,CAAC;CACF"} \ No newline at end of file +{"version":3,"file":"grid.js","sourceRoot":"","sources":["../ts/grid.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAInC,MAAM,OAAO,IAAI;IAKf,YAAY,IAAiB;QAJ7B,wBAAmB;QACnB,2BAAiB;QACjB,kBAA8B,IAAI,GAAG,EAAiB,EAAC;QAGrD,uBAAA,IAAI,SAAS,IAAI,EAAC;QAClB,oCAAW,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;IACpC,CAAC;IAED,QAAQ,CAAC,CAAS,EAAE,CAAS;QAC3B,oCAAW,KAAK,CAAC,mBAAmB,GAAG,UAAU,CAAC,QAAQ,CAAC;QAC3D,oCAAW,KAAK,CAAC,gBAAgB,GAAG,UAAU,CAAC,QAAQ,CAAC;IAC1D,CAAC;IAED,WAAW,CAAC,GAAW;QACrB,uBAAA,IAAI,YAAY,GAAG,EAAC;QACpB,oCAAW,KAAK,CAAC,eAAe,GAAG,eAAe,sCAAa,aAAa,CAAC;QAE7E,sBAAsB;IACxB,CAAC;IAED,UAAU,CAAC,MAAgB;QACzB,MAAM,QAAQ,GAAgB,IAAI,GAAG,CAAS,MAAM,CAAC,CAAC;QAEtD,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE;YAC3B,IAAI,CAAC,sCAAa,GAAG,CAAC,IAAI,CAAC,EAAE;gBAC3B,MAAM,KAAK,GAAG,IAAI,KAAK,EAAE,CAAC;gBAC1B,KAAK,CAAC,WAAW,wCAAe,CAAC;gBACjC,sCAAa,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;aAC/B;SACF;QAED,KAAK,MAAM,IAAI,IAAI,sCAAa,IAAI,EAAE,EAAE;YACtC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;gBACvB,kCAAkC;gBAClC,sCAAa,MAAM,CAAC,IAAI,CAAC,CAAC;aAC3B;SACF;QAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACtC,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YACvB,MAAM,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC;YACpB,MAAM,KAAK,GAAG,sCAAa,GAAG,CAAC,IAAI,CAAE,CAAC;YACtC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;SACxB;IACH,CAAC;IAED,QAAQ,CAAC,YAAyB,EAAE,CAAS,EAAE,CAAS;QACtD,MAAM,IAAI,GAAG,sCAAa,GAAG,CAAC,YAAY,CAAC,UAAU,CAAE,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;QAE/E,sBAAsB;QACtB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,eAAe,GAAG,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;QAC7C,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;QAC1C,oCAAW,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAElC,OAAO,IAAI,CAAC;IACd,CAAC;CACF"} \ No newline at end of file diff --git a/js/layer.js b/js/layer.js index 1428ba9..e7e9adc 100644 --- a/js/layer.js +++ b/js/layer.js @@ -25,7 +25,7 @@ export class Layer { } add_tile(tile_factory) { const tile = tile_factory.build(__classPrivateFieldGet(this, _tileset)); - tile.get_elem().style.zIndex = `${__classPrivateFieldGet(this, _level)}`; + tile.elem.style.zIndex = `${__classPrivateFieldGet(this, _level)}`; return tile; } } diff --git a/js/layer.js.map b/js/layer.js.map index f377489..9c48b1c 100644 --- a/js/layer.js.map +++ b/js/layer.js.map @@ -1 +1 @@ -{"version":3,"file":"layer.js","sourceRoot":"","sources":["../ts/layer.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAGA,MAAM,OAAO,KAAK;IAAlB;QACE,yBAAe;QACf,2BAAiB;IAenB,CAAC;IAbC,SAAS,CAAC,KAAa;QACrB,uBAAA,IAAI,UAAU,KAAK,EAAC;IACtB,CAAC;IAED,WAAW,CAAC,OAAe;QACzB,uBAAA,IAAI,YAAY,OAAO,EAAC;IAC1B,CAAC;IAED,QAAQ,CAAC,YAAyB;QAChC,MAAM,IAAI,GAAG,YAAY,CAAC,KAAK,wCAAe,CAAC;QAC/C,IAAI,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,GAAG,oCAAW,EAAE,CAAC;QAChD,OAAO,IAAI,CAAC;IACd,CAAC;CACF"} \ No newline at end of file +{"version":3,"file":"layer.js","sourceRoot":"","sources":["../ts/layer.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAGA,MAAM,OAAO,KAAK;IAAlB;QACE,yBAAe;QACf,2BAAiB;IAenB,CAAC;IAbC,SAAS,CAAC,KAAa;QACrB,uBAAA,IAAI,UAAU,KAAK,EAAC;IACtB,CAAC;IAED,WAAW,CAAC,OAAe;QACzB,uBAAA,IAAI,YAAY,OAAO,EAAC;IAC1B,CAAC;IAED,QAAQ,CAAC,YAAyB;QAChC,MAAM,IAAI,GAAG,YAAY,CAAC,KAAK,wCAAe,CAAC;QAC/C,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,GAAG,oCAAW,EAAE,CAAC;QAC1C,OAAO,IAAI,CAAC;IACd,CAAC;CACF"} \ No newline at end of file diff --git a/js/layered_tile.js b/js/layered_tile.js index 04f81cd..8e43706 100644 --- a/js/layered_tile.js +++ b/js/layered_tile.js @@ -7,14 +7,13 @@ export class LayeredTile extends Tile { for (let i = 0; i < tiles.length; i++) { const tile = tiles[i]; this.tiles.push(tile); - const child = tile.get_elem(); - this.elem.appendChild(child); - child.style.width = '100%'; - child.style.height = '100%'; - child.style.position = 'absolute'; - child.style.top = '0'; - child.style.left = '0'; - child.style.zIndex = `${i}`; + this.elem.appendChild(tile.elem); + tile.elem.style.width = '100%'; + tile.elem.style.height = '100%'; + tile.elem.style.position = 'absolute'; + tile.elem.style.top = '0'; + tile.elem.style.left = '0'; + tile.elem.style.zIndex = `${i}`; } } play(name) { diff --git a/js/layered_tile.js.map b/js/layered_tile.js.map index c8baf20..0b73afb 100644 --- a/js/layered_tile.js.map +++ b/js/layered_tile.js.map @@ -1 +1 @@ -{"version":3,"file":"layered_tile.js","sourceRoot":"","sources":["../ts/layered_tile.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,MAAM,OAAO,WAAY,SAAQ,IAAI;IAGnC,YAAY,KAAa,EAAE,MAAc,EAAE,KAAa;QACtD,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QACrB,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;QAEhB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,UAAU,CAAC;QAEtC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACrC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACtB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAEtB,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC9B,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;YAC7B,KAAK,CAAC,KAAK,CAAC,KAAK,GAAG,MAAM,CAAC;YAC3B,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;YAC5B,KAAK,CAAC,KAAK,CAAC,QAAQ,GAAG,UAAU,CAAC;YAClC,KAAK,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG,CAAC;YACtB,KAAK,CAAC,KAAK,CAAC,IAAI,GAAG,GAAG,CAAC;YACvB,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,GAAG,CAAC,EAAE,CAAC;SAC7B;IACH,CAAC;IAED,IAAI,CAAC,IAAY;QACf,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE;YAC7B,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACjB;IACH,CAAC;CACF"} \ No newline at end of file +{"version":3,"file":"layered_tile.js","sourceRoot":"","sources":["../ts/layered_tile.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,MAAM,OAAO,WAAY,SAAQ,IAAI;IAGnC,YAAY,KAAa,EAAE,MAAc,EAAE,KAAa;QACtD,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QACrB,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;QAEhB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,UAAU,CAAC;QAEtC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACrC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACtB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAEtB,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACjC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,MAAM,CAAC;YAC/B,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;YAChC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,UAAU,CAAC;YACtC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG,CAAC;YAC1B,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,GAAG,CAAC;YAC3B,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,GAAG,CAAC,EAAE,CAAC;SACjC;IACH,CAAC;IAED,IAAI,CAAC,IAAY;QACf,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE;YAC7B,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACjB;IACH,CAAC;CACF"} \ No newline at end of file diff --git a/js/layered_tile_factory.js b/js/layered_tile_factory.js index 00fd3ed..b00eb34 100644 --- a/js/layered_tile_factory.js +++ b/js/layered_tile_factory.js @@ -2,7 +2,7 @@ import { LayeredTile } from './layered_tile.js'; import { TileFactory } from './tile_factory.js'; export class LayeredTileFactory extends TileFactory { constructor(tile_factories) { - super(tile_factories[0].width, tile_factories[0].height); + super(tile_factories[0].layer_name, tile_factories[0].width, tile_factories[0].height); this.tile_factories = tile_factories; } build(tileset) { diff --git a/js/layered_tile_factory.js.map b/js/layered_tile_factory.js.map index e618fd6..1098962 100644 --- a/js/layered_tile_factory.js.map +++ b/js/layered_tile_factory.js.map @@ -1 +1 @@ -{"version":3,"file":"layered_tile_factory.js","sourceRoot":"","sources":["../ts/layered_tile_factory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,MAAM,OAAO,kBAAmB,SAAQ,WAAW;IAGjD,YAAY,cAA6B;QACvC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QACzD,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;IACvC,CAAC;IAED,KAAK,CAAC,OAAe;QACnB,MAAM,KAAK,GAAG,EAAE,CAAC;QAEjB,KAAK,MAAM,YAAY,IAAI,IAAI,CAAC,cAAc,EAAE;YAC9C,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;SACzC;QAED,OAAO,IAAI,WAAW,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACzD,CAAC;CACF"} \ No newline at end of file +{"version":3,"file":"layered_tile_factory.js","sourceRoot":"","sources":["../ts/layered_tile_factory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,MAAM,OAAO,kBAAmB,SAAQ,WAAW;IAGjD,YAAY,cAA6B;QACvC,KAAK,CACH,cAAc,CAAC,CAAC,CAAC,CAAC,UAAU,EAC5B,cAAc,CAAC,CAAC,CAAC,CAAC,KAAK,EACvB,cAAc,CAAC,CAAC,CAAC,CAAC,MAAM,CACzB,CAAC;QACF,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;IACvC,CAAC;IAED,KAAK,CAAC,OAAe;QACnB,MAAM,KAAK,GAAG,EAAE,CAAC;QAEjB,KAAK,MAAM,YAAY,IAAI,IAAI,CAAC,cAAc,EAAE;YAC9C,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;SACzC;QAED,OAAO,IAAI,WAAW,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACzD,CAAC;CACF"} \ No newline at end of file diff --git a/js/shape.js b/js/shape.js deleted file mode 100644 index 7428555..0000000 --- a/js/shape.js +++ /dev/null @@ -1,10 +0,0 @@ -export class Shape { - get_mask() { - } - get_elem(get_url) { - const elem = document.createElement('div'); - elem.style.backgroundImage = `url("${get_url('road-lr')}")`; - elem.style.backgroundSize = 'cover'; - } -} -//# sourceMappingURL=shape.js.map \ No newline at end of file diff --git a/js/shape.js.map b/js/shape.js.map deleted file mode 100644 index d150163..0000000 --- a/js/shape.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"shape.js","sourceRoot":"","sources":["../ts/shape.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,KAAK;IAChB,QAAQ;IACR,CAAC;IAED,QAAQ,CAAC,OAAiC;QACxC,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC3C,IAAI,CAAC,KAAK,CAAC,eAAe,GAAG,QAAQ,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC;QAC5D,IAAI,CAAC,KAAK,CAAC,cAAc,GAAG,OAAO,CAAC;IACtC,CAAC;CACF"} \ No newline at end of file diff --git a/js/simple_tile_factory.js b/js/simple_tile_factory.js index 957d4c3..dcdcae5 100644 --- a/js/simple_tile_factory.js +++ b/js/simple_tile_factory.js @@ -1,8 +1,8 @@ import { SimpleTile } from './simple_tile.js'; import { TileFactory } from './tile_factory.js'; export class SimpleTileFactory extends TileFactory { - constructor(width, height, name) { - super(width, height); + constructor(layer_name, width, height, name) { + super(layer_name, width, height); this.name = name; this.animations = new Map(); } diff --git a/js/simple_tile_factory.js.map b/js/simple_tile_factory.js.map index 0df0777..07f8f06 100644 --- a/js/simple_tile_factory.js.map +++ b/js/simple_tile_factory.js.map @@ -1 +1 @@ -{"version":3,"file":"simple_tile_factory.js","sourceRoot":"","sources":["../ts/simple_tile_factory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,MAAM,OAAO,iBAAkB,SAAQ,WAAW;IAIhD,YAAY,KAAa,EAAE,MAAc,EAAE,IAAY;QACrD,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QACrB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,UAAU,GAAG,IAAI,GAAG,EAAE,CAAC;IAC9B,CAAC;IAED,aAAa,CAAC,IAAY,EAAE,SAAqB,EAAE,OAAe;QAChE,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC;IAClD,CAAC;IAED,KAAK,CAAC,OAAe;QACnB,OAAO,IAAI,UAAU,CACnB,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,MAAM,EACX,UAAU,OAAO,IAAI,IAAI,CAAC,IAAI,MAAM,EACpC,IAAI,CAAC,UAAU,CAChB,CAAC;IACJ,CAAC;CACF;AAED;;;;;;;;;;;;;;;;;;;;;;;EAuBE"} \ No newline at end of file +{"version":3,"file":"simple_tile_factory.js","sourceRoot":"","sources":["../ts/simple_tile_factory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,MAAM,OAAO,iBAAkB,SAAQ,WAAW;IAIhD,YAAY,UAAkB,EAAE,KAAa,EAAE,MAAc,EAAE,IAAY;QACzE,KAAK,CAAC,UAAU,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;QACjC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,UAAU,GAAG,IAAI,GAAG,EAAE,CAAC;IAC9B,CAAC;IAED,aAAa,CAAC,IAAY,EAAE,SAAqB,EAAE,OAAe;QAChE,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC;IAClD,CAAC;IAED,KAAK,CAAC,OAAe;QACnB,OAAO,IAAI,UAAU,CACnB,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,MAAM,EACX,UAAU,OAAO,IAAI,IAAI,CAAC,IAAI,MAAM,EACpC,IAAI,CAAC,UAAU,CAChB,CAAC;IACJ,CAAC;CACF;AAED;;;;;;;;;;;;;;;;;;;;;;;EAuBE"} \ No newline at end of file diff --git a/js/tile.js b/js/tile.js index 5dab159..7fd4eda 100644 --- a/js/tile.js +++ b/js/tile.js @@ -4,8 +4,5 @@ export class Tile { this.elem.style.gridColumnEnd = `span ${width}`; this.elem.style.gridRowEnd = `span ${height}`; } - get_elem() { - return this.elem; - } } //# sourceMappingURL=tile.js.map \ No newline at end of file diff --git a/js/tile.js.map b/js/tile.js.map index e0f066d..0b4914b 100644 --- a/js/tile.js.map +++ b/js/tile.js.map @@ -1 +1 @@ -{"version":3,"file":"tile.js","sourceRoot":"","sources":["../ts/tile.ts"],"names":[],"mappings":"AAAA,MAAM,OAAgB,IAAI;IAGxB,YAAY,KAAa,EAAE,MAAc;QACvC,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC1C,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,GAAG,QAAQ,KAAK,EAAE,CAAC;QAChD,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,QAAQ,MAAM,EAAE,CAAC;IAChD,CAAC;IAED,QAAQ;QACN,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;CAGF"} \ No newline at end of file +{"version":3,"file":"tile.js","sourceRoot":"","sources":["../ts/tile.ts"],"names":[],"mappings":"AAAA,MAAM,OAAgB,IAAI;IAGxB,YAAY,KAAa,EAAE,MAAc;QACvC,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC1C,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,GAAG,QAAQ,KAAK,EAAE,CAAC;QAChD,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,QAAQ,MAAM,EAAE,CAAC;IAChD,CAAC;CAGF"} \ No newline at end of file diff --git a/js/tile_factory.js b/js/tile_factory.js index a01d54a..11dd0d7 100644 --- a/js/tile_factory.js +++ b/js/tile_factory.js @@ -1,5 +1,6 @@ export class TileFactory { - constructor(width, height) { + constructor(layer_name, width, height) { + this.layer_name = layer_name; this.width = width; this.height = height; } diff --git a/js/tile_factory.js.map b/js/tile_factory.js.map index e0f46d4..834826c 100644 --- a/js/tile_factory.js.map +++ b/js/tile_factory.js.map @@ -1 +1 @@ -{"version":3,"file":"tile_factory.js","sourceRoot":"","sources":["../ts/tile_factory.ts"],"names":[],"mappings":"AAEA,MAAM,OAAgB,WAAW;IAI/B,YAAY,KAAa,EAAE,MAAc;QACvC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;CAGF"} \ No newline at end of file +{"version":3,"file":"tile_factory.js","sourceRoot":"","sources":["../ts/tile_factory.ts"],"names":[],"mappings":"AAEA,MAAM,OAAgB,WAAW;IAK/B,YAAY,UAAkB,EAAE,KAAa,EAAE,MAAc;QAC3D,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;CAGF"} \ No newline at end of file diff --git a/js/tiles.js b/js/tiles.js index 5708701..b3a12af 100644 --- a/js/tiles.js +++ b/js/tiles.js @@ -1,34 +1,34 @@ import { LayeredTileFactory } from './layered_tile_factory.js'; import { SimpleTileFactory } from './simple_tile_factory.js'; // Straig -export const ROAD_LR = new SimpleTileFactory(6, 4, 'road-lr'); -export const ROAD_TB = new SimpleTileFactory(4, 6, 'road-tb'); +export const ROAD_LR = new SimpleTileFactory('road', 6, 4, 'road-lr'); +export const ROAD_TB = new SimpleTileFactory('road', 4, 6, 'road-tb'); // Elbow -export const ROAD_BL = new SimpleTileFactory(6, 6, 'road-bl'); -export const ROAD_BR = new SimpleTileFactory(6, 6, 'road-br'); -export const ROAD_TL = new SimpleTileFactory(6, 6, 'road-tl'); -export const ROAD_TR = new SimpleTileFactory(6, 6, 'road-tr'); +export const ROAD_BL = new SimpleTileFactory('road', 6, 6, 'road-bl'); +export const ROAD_BR = new SimpleTileFactory('road', 6, 6, 'road-br'); +export const ROAD_TL = new SimpleTileFactory('road', 6, 6, 'road-tl'); +export const ROAD_TR = new SimpleTileFactory('road', 6, 6, 'road-tr'); // T -export const ROAD_BLR = new SimpleTileFactory(8, 6, 'road-blr'); -export const ROAD_TLR = new SimpleTileFactory(8, 6, 'road-tlr'); -export const ROAD_LTB = new SimpleTileFactory(6, 8, 'road-ltb'); -export const ROAD_RTB = new SimpleTileFactory(6, 8, 'road-rtb'); +export const ROAD_BLR = new SimpleTileFactory('road', 8, 6, 'road-blr'); +export const ROAD_TLR = new SimpleTileFactory('road', 8, 6, 'road-tlr'); +export const ROAD_LTB = new SimpleTileFactory('road', 6, 8, 'road-ltb'); +export const ROAD_RTB = new SimpleTileFactory('road', 6, 8, 'road-rtb'); // + -export const ROAD_TBLR = new SimpleTileFactory(8, 8, 'road-tblr'); +export const ROAD_TBLR = new SimpleTileFactory('road', 8, 8, 'road-tblr'); // Tower base -export const EMPTY = new SimpleTileFactory(4, 2, 'empty'); +export const EMPTY = new SimpleTileFactory('road', 4, 2, 'empty'); // Straight -export const RIVER_LR = new SimpleTileFactory(6, 4, 'river-lr'); -export const RIVER_TB = new SimpleTileFactory(4, 6, 'river-tb'); +export const RIVER_LR = new SimpleTileFactory('water', 6, 4, 'river-lr'); +export const RIVER_TB = new SimpleTileFactory('water', 4, 6, 'river-tb'); // Elbow -export const RIVER_BR = new SimpleTileFactory(6, 6, 'river-br'); -export const RIVER_BL = new SimpleTileFactory(6, 6, 'river-bl'); -export const RIVER_TR = new SimpleTileFactory(6, 6, 'river-tr'); -export const RIVER_TL = new SimpleTileFactory(6, 6, 'river-tl'); -export const BRIDGE_LR = new SimpleTileFactory(6, 4, 'bridge-lr'); -const tower_fireball1_back = new SimpleTileFactory(4, 4, 'fireball1-back'); -const tower_fireball1 = new SimpleTileFactory(4, 4, 'fireball1'); -const tower_fireball1_front = new SimpleTileFactory(4, 4, 'fireball1-front'); +export const RIVER_BR = new SimpleTileFactory('water', 6, 6, 'river-br'); +export const RIVER_BL = new SimpleTileFactory('water', 6, 6, 'river-bl'); +export const RIVER_TR = new SimpleTileFactory('water', 6, 6, 'river-tr'); +export const RIVER_TL = new SimpleTileFactory('water', 6, 6, 'river-tl'); +export const BRIDGE_LR = new SimpleTileFactory('bridge', 6, 4, 'bridge-lr'); +const tower_fireball1_back = new SimpleTileFactory('surface', 4, 4, 'fireball1-back'); +const tower_fireball1 = new SimpleTileFactory('surface', 4, 4, 'fireball1'); +const tower_fireball1_front = new SimpleTileFactory('surface', 4, 4, 'fireball1-front'); for (const tile_factory of [tower_fireball1_back, tower_fireball1_front]) { tile_factory.add_animation('fire', [ { diff --git a/js/tiles.js.map b/js/tiles.js.map index 988f46a..e13ca22 100644 --- a/js/tiles.js.map +++ b/js/tiles.js.map @@ -1 +1 @@ -{"version":3,"file":"tiles.js","sourceRoot":"","sources":["../ts/tiles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAE7D,SAAS;AACT,MAAM,CAAC,MAAM,OAAO,GAAG,IAAI,iBAAiB,CAAC,CAAC,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC;AAC9D,MAAM,CAAC,MAAM,OAAO,GAAG,IAAI,iBAAiB,CAAC,CAAC,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC;AAE9D,QAAQ;AACR,MAAM,CAAC,MAAM,OAAO,GAAG,IAAI,iBAAiB,CAAC,CAAC,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC;AAC9D,MAAM,CAAC,MAAM,OAAO,GAAG,IAAI,iBAAiB,CAAC,CAAC,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC;AAC9D,MAAM,CAAC,MAAM,OAAO,GAAG,IAAI,iBAAiB,CAAC,CAAC,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC;AAC9D,MAAM,CAAC,MAAM,OAAO,GAAG,IAAI,iBAAiB,CAAC,CAAC,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC;AAE9D,IAAI;AACJ,MAAM,CAAC,MAAM,QAAQ,GAAG,IAAI,iBAAiB,CAAC,CAAC,EAAE,CAAC,EAAE,UAAU,CAAC,CAAC;AAChE,MAAM,CAAC,MAAM,QAAQ,GAAG,IAAI,iBAAiB,CAAC,CAAC,EAAE,CAAC,EAAE,UAAU,CAAC,CAAC;AAChE,MAAM,CAAC,MAAM,QAAQ,GAAG,IAAI,iBAAiB,CAAC,CAAC,EAAE,CAAC,EAAE,UAAU,CAAC,CAAC;AAChE,MAAM,CAAC,MAAM,QAAQ,GAAG,IAAI,iBAAiB,CAAC,CAAC,EAAE,CAAC,EAAE,UAAU,CAAC,CAAC;AAEhE,IAAI;AACJ,MAAM,CAAC,MAAM,SAAS,GAAG,IAAI,iBAAiB,CAAC,CAAC,EAAE,CAAC,EAAE,WAAW,CAAC,CAAC;AAElE,aAAa;AACb,MAAM,CAAC,MAAM,KAAK,GAAG,IAAI,iBAAiB,CAAC,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC;AAE1D,WAAW;AACX,MAAM,CAAC,MAAM,QAAQ,GAAG,IAAI,iBAAiB,CAAC,CAAC,EAAE,CAAC,EAAE,UAAU,CAAC,CAAC;AAChE,MAAM,CAAC,MAAM,QAAQ,GAAG,IAAI,iBAAiB,CAAC,CAAC,EAAE,CAAC,EAAE,UAAU,CAAC,CAAC;AAEhE,QAAQ;AACR,MAAM,CAAC,MAAM,QAAQ,GAAG,IAAI,iBAAiB,CAAC,CAAC,EAAE,CAAC,EAAE,UAAU,CAAC,CAAC;AAChE,MAAM,CAAC,MAAM,QAAQ,GAAG,IAAI,iBAAiB,CAAC,CAAC,EAAE,CAAC,EAAE,UAAU,CAAC,CAAC;AAChE,MAAM,CAAC,MAAM,QAAQ,GAAG,IAAI,iBAAiB,CAAC,CAAC,EAAE,CAAC,EAAE,UAAU,CAAC,CAAC;AAChE,MAAM,CAAC,MAAM,QAAQ,GAAG,IAAI,iBAAiB,CAAC,CAAC,EAAE,CAAC,EAAE,UAAU,CAAC,CAAC;AAEhE,MAAM,CAAC,MAAM,SAAS,GAAG,IAAI,iBAAiB,CAAC,CAAC,EAAE,CAAC,EAAE,WAAW,CAAC,CAAC;AAElE,MAAM,oBAAoB,GAAG,IAAI,iBAAiB,CAAC,CAAC,EAAE,CAAC,EAAE,gBAAgB,CAAC,CAAC;AAC3E,MAAM,eAAe,GAAG,IAAI,iBAAiB,CAAC,CAAC,EAAE,CAAC,EAAE,WAAW,CAAC,CAAC;AACjE,MAAM,qBAAqB,GAAG,IAAI,iBAAiB,CAAC,CAAC,EAAE,CAAC,EAAE,iBAAiB,CAAC,CAAC;AAE7E,KAAK,MAAM,YAAY,IAAI,CAAC,oBAAoB,EAAE,qBAAqB,CAAC,EAAE;IACxE,YAAY,CAAC,aAAa,CACxB,MAAM,EACN;QACE;YACE,QAAQ,EAAE,GAAG;YACb,QAAQ,EAAE,sCAAsC;YAEhD,KAAK,EAAE,GAAG;SACX;QACD;YACE,QAAQ,EAAE,GAAG;YACb,QAAQ,EAAE,QAAQ;YAElB,KAAK,EAAE,KAAK;SACb;QACD;YACE,QAAQ,EAAE,GAAG;YAEb,KAAK,EAAE,GAAG;SACX;KACF,EACD;QACE,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,CAAC;KAChB,CACF,CAAC;CACH;AAED,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,kBAAkB,CAAC;IACpD,oBAAoB;IACpB,eAAe;IACf,qBAAqB;CACtB,CAAC,CAAC;AAEH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAqEE"} \ No newline at end of file +{"version":3,"file":"tiles.js","sourceRoot":"","sources":["../ts/tiles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAE7D,SAAS;AACT,MAAM,CAAC,MAAM,OAAO,GAAG,IAAI,iBAAiB,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC;AACtE,MAAM,CAAC,MAAM,OAAO,GAAG,IAAI,iBAAiB,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC;AAEtE,QAAQ;AACR,MAAM,CAAC,MAAM,OAAO,GAAG,IAAI,iBAAiB,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC;AACtE,MAAM,CAAC,MAAM,OAAO,GAAG,IAAI,iBAAiB,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC;AACtE,MAAM,CAAC,MAAM,OAAO,GAAG,IAAI,iBAAiB,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC;AACtE,MAAM,CAAC,MAAM,OAAO,GAAG,IAAI,iBAAiB,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC;AAEtE,IAAI;AACJ,MAAM,CAAC,MAAM,QAAQ,GAAG,IAAI,iBAAiB,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,UAAU,CAAC,CAAC;AACxE,MAAM,CAAC,MAAM,QAAQ,GAAG,IAAI,iBAAiB,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,UAAU,CAAC,CAAC;AACxE,MAAM,CAAC,MAAM,QAAQ,GAAG,IAAI,iBAAiB,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,UAAU,CAAC,CAAC;AACxE,MAAM,CAAC,MAAM,QAAQ,GAAG,IAAI,iBAAiB,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,UAAU,CAAC,CAAC;AAExE,IAAI;AACJ,MAAM,CAAC,MAAM,SAAS,GAAG,IAAI,iBAAiB,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,WAAW,CAAC,CAAC;AAE1E,aAAa;AACb,MAAM,CAAC,MAAM,KAAK,GAAG,IAAI,iBAAiB,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC;AAElE,WAAW;AACX,MAAM,CAAC,MAAM,QAAQ,GAAG,IAAI,iBAAiB,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,UAAU,CAAC,CAAC;AACzE,MAAM,CAAC,MAAM,QAAQ,GAAG,IAAI,iBAAiB,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,UAAU,CAAC,CAAC;AAEzE,QAAQ;AACR,MAAM,CAAC,MAAM,QAAQ,GAAG,IAAI,iBAAiB,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,UAAU,CAAC,CAAC;AACzE,MAAM,CAAC,MAAM,QAAQ,GAAG,IAAI,iBAAiB,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,UAAU,CAAC,CAAC;AACzE,MAAM,CAAC,MAAM,QAAQ,GAAG,IAAI,iBAAiB,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,UAAU,CAAC,CAAC;AACzE,MAAM,CAAC,MAAM,QAAQ,GAAG,IAAI,iBAAiB,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,UAAU,CAAC,CAAC;AAEzE,MAAM,CAAC,MAAM,SAAS,GAAG,IAAI,iBAAiB,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC,EAAE,WAAW,CAAC,CAAC;AAE5E,MAAM,oBAAoB,GAAG,IAAI,iBAAiB,CAAC,SAAS,EAAE,CAAC,EAAE,CAAC,EAAE,gBAAgB,CAAC,CAAC;AACtF,MAAM,eAAe,GAAG,IAAI,iBAAiB,CAAC,SAAS,EAAE,CAAC,EAAE,CAAC,EAAE,WAAW,CAAC,CAAC;AAC5E,MAAM,qBAAqB,GAAG,IAAI,iBAAiB,CAAC,SAAS,EAAE,CAAC,EAAE,CAAC,EAAE,iBAAiB,CAAC,CAAC;AAExF,KAAK,MAAM,YAAY,IAAI,CAAC,oBAAoB,EAAE,qBAAqB,CAAC,EAAE;IACxE,YAAY,CAAC,aAAa,CACxB,MAAM,EACN;QACE;YACE,QAAQ,EAAE,GAAG;YACb,QAAQ,EAAE,sCAAsC;YAEhD,KAAK,EAAE,GAAG;SACX;QACD;YACE,QAAQ,EAAE,GAAG;YACb,QAAQ,EAAE,QAAQ;YAElB,KAAK,EAAE,KAAK;SACb;QACD;YACE,QAAQ,EAAE,GAAG;YAEb,KAAK,EAAE,GAAG;SACX;KACF,EACD;QACE,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,CAAC;KAChB,CACF,CAAC;CACH;AAED,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,kBAAkB,CAAC;IACpD,oBAAoB;IACpB,eAAe;IACf,qBAAqB;CACtB,CAAC,CAAC;AAEH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAqEE"} \ No newline at end of file diff --git a/js/tower.js b/js/tower.js index 0452823..e8cf616 100644 --- a/js/tower.js +++ b/js/tower.js @@ -20,60 +20,60 @@ export function main() { const grid = new Grid(real); grid.set_size(70, 56); grid.set_tileset('tropical'); - grid.set_layers(['road', 'water', 'bridge', 'tower']); - grid.add_tile('road', tiles.ROAD_TB, 20, 46); - grid.add_tile('road', tiles.ROAD_BL, 18, 40); - grid.add_tile('road', tiles.ROAD_TR, 12, 38); - grid.add_tile('road', tiles.ROAD_BR, 12, 32); - grid.add_tile('road', tiles.ROAD_TL, 18, 30); - grid.add_tile('road', tiles.ROAD_BL, 18, 24); - grid.add_tile('road', tiles.ROAD_TR, 12, 22); - grid.add_tile('road', tiles.ROAD_BR, 12, 16); - grid.add_tile('road', tiles.ROAD_LR, 18, 16); - grid.add_tile('road', tiles.ROAD_TBLR, 24, 14); - grid.add_tile('road', tiles.ROAD_TB, 26, 2); - grid.add_tile('road', tiles.ROAD_TB, 26, 8); - grid.add_tile('road', tiles.ROAD_TB, 26, 22); - grid.add_tile('road', tiles.ROAD_TB, 26, 28); - grid.add_tile('road', tiles.ROAD_TB, 26, 34); - grid.add_tile('road', tiles.ROAD_TB, 26, 40); - grid.add_tile('road', tiles.ROAD_TB, 26, 46); - grid.add_tile('road', tiles.ROAD_BL, 32, 16); - grid.add_tile('road', tiles.ROAD_TB, 34, 22); - grid.add_tile('road', tiles.ROAD_TB, 34, 28); - grid.add_tile('road', tiles.ROAD_TB, 34, 34); - grid.add_tile('road', tiles.ROAD_TR, 34, 40); - grid.add_tile('road', tiles.ROAD_LR, 40, 42); - grid.add_tile('road', tiles.ROAD_LR, 46, 42); - grid.add_tile('road', tiles.ROAD_TL, 52, 40); - grid.add_tile('road', tiles.ROAD_BL, 52, 34); - grid.add_tile('road', tiles.ROAD_LR, 46, 34); - grid.add_tile('road', tiles.ROAD_TR, 40, 32); - grid.add_tile('road', tiles.ROAD_BR, 40, 26); - grid.add_tile('road', tiles.ROAD_LR, 46, 26); - grid.add_tile('road', tiles.ROAD_TL, 52, 24); - grid.add_tile('road', tiles.ROAD_BL, 52, 18); - grid.add_tile('road', tiles.ROAD_LR, 46, 18); - grid.add_tile('road', tiles.ROAD_TR, 40, 16); - grid.add_tile('road', tiles.ROAD_BR, 40, 10); - grid.add_tile('road', tiles.ROAD_LR, 46, 10); - grid.add_tile('road', tiles.ROAD_LR, 52, 10); - grid.add_tile('road', tiles.ROAD_LR, 58, 10); - grid.add_tile('road', tiles.EMPTY, 30, 20); - grid.add_tile('water', tiles.RIVER_TB, 47, 46); - grid.add_tile('water', tiles.RIVER_TB, 47, 40); - grid.add_tile('water', tiles.RIVER_TB, 47, 34); - grid.add_tile('water', tiles.RIVER_TB, 47, 28); - grid.add_tile('water', tiles.RIVER_TB, 47, 22); - grid.add_tile('water', tiles.RIVER_TB, 47, 16); - grid.add_tile('water', tiles.RIVER_TB, 47, 10); - grid.add_tile('water', tiles.RIVER_TB, 47, 4); - grid.add_tile('bridge', tiles.BRIDGE_LR, 46, 42); - grid.add_tile('bridge', tiles.BRIDGE_LR, 46, 34); - grid.add_tile('bridge', tiles.BRIDGE_LR, 46, 26); - grid.add_tile('bridge', tiles.BRIDGE_LR, 46, 18); - grid.add_tile('bridge', tiles.BRIDGE_LR, 46, 10); - const tower = grid.add_tile('tower', tiles.TOWER_FIREBALL1, 30, 18); + grid.set_layers(['road', 'water', 'bridge', 'surface']); + grid.add_tile(tiles.ROAD_TB, 20, 46); + grid.add_tile(tiles.ROAD_BL, 18, 40); + grid.add_tile(tiles.ROAD_TR, 12, 38); + grid.add_tile(tiles.ROAD_BR, 12, 32); + grid.add_tile(tiles.ROAD_TL, 18, 30); + grid.add_tile(tiles.ROAD_BL, 18, 24); + grid.add_tile(tiles.ROAD_TR, 12, 22); + grid.add_tile(tiles.ROAD_BR, 12, 16); + grid.add_tile(tiles.ROAD_LR, 18, 16); + grid.add_tile(tiles.ROAD_TBLR, 24, 14); + grid.add_tile(tiles.ROAD_TB, 26, 2); + grid.add_tile(tiles.ROAD_TB, 26, 8); + grid.add_tile(tiles.ROAD_TB, 26, 22); + grid.add_tile(tiles.ROAD_TB, 26, 28); + grid.add_tile(tiles.ROAD_TB, 26, 34); + grid.add_tile(tiles.ROAD_TB, 26, 40); + grid.add_tile(tiles.ROAD_TB, 26, 46); + grid.add_tile(tiles.ROAD_BL, 32, 16); + grid.add_tile(tiles.ROAD_TB, 34, 22); + grid.add_tile(tiles.ROAD_TB, 34, 28); + grid.add_tile(tiles.ROAD_TB, 34, 34); + grid.add_tile(tiles.ROAD_TR, 34, 40); + grid.add_tile(tiles.ROAD_LR, 40, 42); + grid.add_tile(tiles.ROAD_LR, 46, 42); + grid.add_tile(tiles.ROAD_TL, 52, 40); + grid.add_tile(tiles.ROAD_BL, 52, 34); + grid.add_tile(tiles.ROAD_LR, 46, 34); + grid.add_tile(tiles.ROAD_TR, 40, 32); + grid.add_tile(tiles.ROAD_BR, 40, 26); + grid.add_tile(tiles.ROAD_LR, 46, 26); + grid.add_tile(tiles.ROAD_TL, 52, 24); + grid.add_tile(tiles.ROAD_BL, 52, 18); + grid.add_tile(tiles.ROAD_LR, 46, 18); + grid.add_tile(tiles.ROAD_TR, 40, 16); + grid.add_tile(tiles.ROAD_BR, 40, 10); + grid.add_tile(tiles.ROAD_LR, 46, 10); + grid.add_tile(tiles.ROAD_LR, 52, 10); + grid.add_tile(tiles.ROAD_LR, 58, 10); + grid.add_tile(tiles.EMPTY, 30, 20); + grid.add_tile(tiles.RIVER_TB, 47, 46); + grid.add_tile(tiles.RIVER_TB, 47, 40); + grid.add_tile(tiles.RIVER_TB, 47, 34); + grid.add_tile(tiles.RIVER_TB, 47, 28); + grid.add_tile(tiles.RIVER_TB, 47, 22); + grid.add_tile(tiles.RIVER_TB, 47, 16); + grid.add_tile(tiles.RIVER_TB, 47, 10); + grid.add_tile(tiles.RIVER_TB, 47, 4); + grid.add_tile(tiles.BRIDGE_LR, 46, 42); + grid.add_tile(tiles.BRIDGE_LR, 46, 34); + grid.add_tile(tiles.BRIDGE_LR, 46, 26); + grid.add_tile(tiles.BRIDGE_LR, 46, 18); + grid.add_tile(tiles.BRIDGE_LR, 46, 10); + const tower = grid.add_tile(tiles.TOWER_FIREBALL1, 30, 18); setInterval(() => tower.play('fire'), 3250); } ; diff --git a/js/tower.js.map b/js/tower.js.map index 56b2e67..086a69d 100644 --- a/js/tower.js.map +++ b/js/tower.js.map @@ -1 +1 @@ -{"version":3,"file":"tower.js","sourceRoot":"","sources":["../ts/tower.ts"],"names":[],"mappings":"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EAAE,EAAE,EAAE,CAAC,CAAC;IAC7C,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,OAAO,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IAC7C,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,OAAO,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IAC7C,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,OAAO,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IAC7C,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,OAAO,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IAC7C,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,OAAO,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IAC7C,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,OAAO,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IAC7C,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,OAAO,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IAC7C,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,OAAO,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IAC7C,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,OAAO,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IAC7C,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,OAAO,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IAC7C,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,OAAO,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IAC7C,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,OAAO,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IAC7C,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,OAAO,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IAC7C,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,OAAO,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IAC7C,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,OAAO,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IAC7C,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,OAAO,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IAC7C,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,OAAO,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IAC7C,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,OAAO,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IAC7C,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,OAAO,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IAC7C,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,OAAO,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IAC7C,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,OAAO,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IAC7C,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,OAAO,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IAC7C,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IAE3C,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAC,QAAQ,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IAC/C,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAC,QAAQ,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IAC/C,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAC,QAAQ,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IAC/C,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAC,QAAQ,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IAC/C,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAC,QAAQ,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IAC/C,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAC,QAAQ,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IAC/C,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAC,QAAQ,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IAC/C,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAC,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;IAE9C,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IACjD,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IACjD,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IACjD,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IACjD,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IAEjD,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAC,eAAe,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IACpE,WAAW,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,CAAC;AAC9C,CAAC;AAAA,CAAC;AAEF,IAAI,EAAE,CAAC"} \ No newline at end of file +{"version":3,"file":"tower.js","sourceRoot":"","sources":["../ts/tower.ts"],"names":[],"mappings":"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C,CAAC;IACrC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IACrC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IACrC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IACrC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IACrC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IACrC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IACrC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IACrC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IACrC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IACrC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IACrC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IACrC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IACrC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IACrC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IACrC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IACrC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IACrC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IACrC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IACrC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IACrC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IACrC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IAEnC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IACtC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IACtC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IACtC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IACtC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IACtC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IACtC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IACtC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;IAErC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IACvC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IACvC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IACvC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IACvC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IAEvC,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,eAAe,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IAC3D,WAAW,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,CAAC;AAC9C,CAAC;AAAA,CAAC;AAEF,IAAI,EAAE,CAAC"} \ No newline at end of file diff --git a/ts/grid.ts b/ts/grid.ts index def0f41..0ff8556 100644 --- a/ts/grid.ts +++ b/ts/grid.ts @@ -50,13 +50,14 @@ export class Grid { } } - add_tile(layer: string, tile_factory: TileFactory, x: number, y: number): Tile { - const tile = this.#layers.get(layer)!.add_tile(tile_factory); - const elem = tile.get_elem(); + add_tile(tile_factory: TileFactory, x: number, y: number): Tile { + const tile = this.#layers.get(tile_factory.layer_name)!.add_tile(tile_factory); + // Grids are 1-indexed - elem.style.gridColumnStart = `${x + 1}`; - elem.style.gridRowStart = `${y + 1}`; - this.#prnt.appendChild(elem); + tile.elem.style.gridColumnStart = `${x + 1}`; + tile.elem.style.gridRowStart = `${y + 1}`; + this.#prnt.appendChild(tile.elem); + return tile; } } diff --git a/ts/layer.ts b/ts/layer.ts index 63083ad..ac5305a 100644 --- a/ts/layer.ts +++ b/ts/layer.ts @@ -15,7 +15,7 @@ export class Layer { add_tile(tile_factory: TileFactory): Tile { const tile = tile_factory.build(this.#tileset); - tile.get_elem().style.zIndex = `${this.#level}`; + tile.elem.style.zIndex = `${this.#level}`; return tile; } } diff --git a/ts/layered_tile.ts b/ts/layered_tile.ts index b1d6a1d..fdec29f 100644 --- a/ts/layered_tile.ts +++ b/ts/layered_tile.ts @@ -13,14 +13,13 @@ export class LayeredTile extends Tile { const tile = tiles[i]; this.tiles.push(tile); - const child = tile.get_elem(); - this.elem.appendChild(child); - child.style.width = '100%'; - child.style.height = '100%'; - child.style.position = 'absolute'; - child.style.top = '0'; - child.style.left = '0'; - child.style.zIndex = `${i}`; + this.elem.appendChild(tile.elem); + tile.elem.style.width = '100%'; + tile.elem.style.height = '100%'; + tile.elem.style.position = 'absolute'; + tile.elem.style.top = '0'; + tile.elem.style.left = '0'; + tile.elem.style.zIndex = `${i}`; } } diff --git a/ts/layered_tile_factory.ts b/ts/layered_tile_factory.ts index 0525d3c..52cb8b2 100644 --- a/ts/layered_tile_factory.ts +++ b/ts/layered_tile_factory.ts @@ -5,7 +5,11 @@ export class LayeredTileFactory extends TileFactory { tile_factories: TileFactory[]; constructor(tile_factories: TileFactory[]) { - super(tile_factories[0].width, tile_factories[0].height); + super( + tile_factories[0].layer_name, + tile_factories[0].width, + tile_factories[0].height, + ); this.tile_factories = tile_factories; } diff --git a/ts/simple_tile_factory.ts b/ts/simple_tile_factory.ts index 9fba17d..29ef6e7 100644 --- a/ts/simple_tile_factory.ts +++ b/ts/simple_tile_factory.ts @@ -5,8 +5,8 @@ export class SimpleTileFactory extends TileFactory { name: string; animations: Map; - constructor(width: number, height: number, name: string) { - super(width, height); + constructor(layer_name: string, width: number, height: number, name: string) { + super(layer_name, width, height); this.name = name; this.animations = new Map(); } diff --git a/ts/tile.ts b/ts/tile.ts index aba7868..82a92b8 100644 --- a/ts/tile.ts +++ b/ts/tile.ts @@ -7,9 +7,5 @@ export abstract class Tile { this.elem.style.gridRowEnd = `span ${height}`; } - get_elem(): HTMLElement { - return this.elem; - } - abstract play(name: string): void; } diff --git a/ts/tile_factory.ts b/ts/tile_factory.ts index cf1fe70..cdc8699 100644 --- a/ts/tile_factory.ts +++ b/ts/tile_factory.ts @@ -1,10 +1,12 @@ import { Tile } from './tile.js'; export abstract class TileFactory { + layer_name: string; width: number; height: number; - constructor(width: number, height: number) { + constructor(layer_name: string, width: number, height: number) { + this.layer_name = layer_name; this.width = width; this.height = height; } diff --git a/ts/tiles.ts b/ts/tiles.ts index 1019feb..7f8864f 100644 --- a/ts/tiles.ts +++ b/ts/tiles.ts @@ -2,42 +2,42 @@ import { LayeredTileFactory } from './layered_tile_factory.js'; import { SimpleTileFactory } from './simple_tile_factory.js'; // Straig -export const ROAD_LR = new SimpleTileFactory(6, 4, 'road-lr'); -export const ROAD_TB = new SimpleTileFactory(4, 6, 'road-tb'); +export const ROAD_LR = new SimpleTileFactory('road', 6, 4, 'road-lr'); +export const ROAD_TB = new SimpleTileFactory('road', 4, 6, 'road-tb'); // Elbow -export const ROAD_BL = new SimpleTileFactory(6, 6, 'road-bl'); -export const ROAD_BR = new SimpleTileFactory(6, 6, 'road-br'); -export const ROAD_TL = new SimpleTileFactory(6, 6, 'road-tl'); -export const ROAD_TR = new SimpleTileFactory(6, 6, 'road-tr'); +export const ROAD_BL = new SimpleTileFactory('road', 6, 6, 'road-bl'); +export const ROAD_BR = new SimpleTileFactory('road', 6, 6, 'road-br'); +export const ROAD_TL = new SimpleTileFactory('road', 6, 6, 'road-tl'); +export const ROAD_TR = new SimpleTileFactory('road', 6, 6, 'road-tr'); // T -export const ROAD_BLR = new SimpleTileFactory(8, 6, 'road-blr'); -export const ROAD_TLR = new SimpleTileFactory(8, 6, 'road-tlr'); -export const ROAD_LTB = new SimpleTileFactory(6, 8, 'road-ltb'); -export const ROAD_RTB = new SimpleTileFactory(6, 8, 'road-rtb'); +export const ROAD_BLR = new SimpleTileFactory('road', 8, 6, 'road-blr'); +export const ROAD_TLR = new SimpleTileFactory('road', 8, 6, 'road-tlr'); +export const ROAD_LTB = new SimpleTileFactory('road', 6, 8, 'road-ltb'); +export const ROAD_RTB = new SimpleTileFactory('road', 6, 8, 'road-rtb'); // + -export const ROAD_TBLR = new SimpleTileFactory(8, 8, 'road-tblr'); +export const ROAD_TBLR = new SimpleTileFactory('road', 8, 8, 'road-tblr'); // Tower base -export const EMPTY = new SimpleTileFactory(4, 2, 'empty'); +export const EMPTY = new SimpleTileFactory('road', 4, 2, 'empty'); // Straight -export const RIVER_LR = new SimpleTileFactory(6, 4, 'river-lr'); -export const RIVER_TB = new SimpleTileFactory(4, 6, 'river-tb'); +export const RIVER_LR = new SimpleTileFactory('water', 6, 4, 'river-lr'); +export const RIVER_TB = new SimpleTileFactory('water', 4, 6, 'river-tb'); // Elbow -export const RIVER_BR = new SimpleTileFactory(6, 6, 'river-br'); -export const RIVER_BL = new SimpleTileFactory(6, 6, 'river-bl'); -export const RIVER_TR = new SimpleTileFactory(6, 6, 'river-tr'); -export const RIVER_TL = new SimpleTileFactory(6, 6, 'river-tl'); +export const RIVER_BR = new SimpleTileFactory('water', 6, 6, 'river-br'); +export const RIVER_BL = new SimpleTileFactory('water', 6, 6, 'river-bl'); +export const RIVER_TR = new SimpleTileFactory('water', 6, 6, 'river-tr'); +export const RIVER_TL = new SimpleTileFactory('water', 6, 6, 'river-tl'); -export const BRIDGE_LR = new SimpleTileFactory(6, 4, 'bridge-lr'); +export const BRIDGE_LR = new SimpleTileFactory('bridge', 6, 4, 'bridge-lr'); -const tower_fireball1_back = new SimpleTileFactory(4, 4, 'fireball1-back'); -const tower_fireball1 = new SimpleTileFactory(4, 4, 'fireball1'); -const tower_fireball1_front = new SimpleTileFactory(4, 4, 'fireball1-front'); +const tower_fireball1_back = new SimpleTileFactory('surface', 4, 4, 'fireball1-back'); +const tower_fireball1 = new SimpleTileFactory('surface', 4, 4, 'fireball1'); +const tower_fireball1_front = new SimpleTileFactory('surface', 4, 4, 'fireball1-front'); for (const tile_factory of [tower_fireball1_back, tower_fireball1_front]) { tile_factory.add_animation( diff --git a/ts/tower.ts b/ts/tower.ts index 29c4785..1dae5cd 100644 --- a/ts/tower.ts +++ b/ts/tower.ts @@ -24,64 +24,64 @@ export function main() { const grid = new Grid(real); grid.set_size(70, 56); grid.set_tileset('tropical'); - grid.set_layers(['road', 'water', 'bridge', 'tower']); + grid.set_layers(['road', 'water', 'bridge', 'surface']); - grid.add_tile('road', tiles.ROAD_TB, 20, 46); - grid.add_tile('road', tiles.ROAD_BL, 18, 40); - grid.add_tile('road', tiles.ROAD_TR, 12, 38); - grid.add_tile('road', tiles.ROAD_BR, 12, 32); - grid.add_tile('road', tiles.ROAD_TL, 18, 30); - grid.add_tile('road', tiles.ROAD_BL, 18, 24); - grid.add_tile('road', tiles.ROAD_TR, 12, 22); - grid.add_tile('road', tiles.ROAD_BR, 12, 16); - grid.add_tile('road', tiles.ROAD_LR, 18, 16); - grid.add_tile('road', tiles.ROAD_TBLR, 24, 14); - grid.add_tile('road', tiles.ROAD_TB, 26, 2); - grid.add_tile('road', tiles.ROAD_TB, 26, 8); - grid.add_tile('road', tiles.ROAD_TB, 26, 22); - grid.add_tile('road', tiles.ROAD_TB, 26, 28); - grid.add_tile('road', tiles.ROAD_TB, 26, 34); - grid.add_tile('road', tiles.ROAD_TB, 26, 40); - grid.add_tile('road', tiles.ROAD_TB, 26, 46); - grid.add_tile('road', tiles.ROAD_BL, 32, 16); - grid.add_tile('road', tiles.ROAD_TB, 34, 22); - grid.add_tile('road', tiles.ROAD_TB, 34, 28); - grid.add_tile('road', tiles.ROAD_TB, 34, 34); - grid.add_tile('road', tiles.ROAD_TR, 34, 40); - grid.add_tile('road', tiles.ROAD_LR, 40, 42); - grid.add_tile('road', tiles.ROAD_LR, 46, 42); - grid.add_tile('road', tiles.ROAD_TL, 52, 40); - grid.add_tile('road', tiles.ROAD_BL, 52, 34); - grid.add_tile('road', tiles.ROAD_LR, 46, 34); - grid.add_tile('road', tiles.ROAD_TR, 40, 32); - grid.add_tile('road', tiles.ROAD_BR, 40, 26); - grid.add_tile('road', tiles.ROAD_LR, 46, 26); - grid.add_tile('road', tiles.ROAD_TL, 52, 24); - grid.add_tile('road', tiles.ROAD_BL, 52, 18); - grid.add_tile('road', tiles.ROAD_LR, 46, 18); - grid.add_tile('road', tiles.ROAD_TR, 40, 16); - grid.add_tile('road', tiles.ROAD_BR, 40, 10); - grid.add_tile('road', tiles.ROAD_LR, 46, 10); - grid.add_tile('road', tiles.ROAD_LR, 52, 10); - grid.add_tile('road', tiles.ROAD_LR, 58, 10); - grid.add_tile('road', tiles.EMPTY, 30, 20); + grid.add_tile(tiles.ROAD_TB, 20, 46); + grid.add_tile(tiles.ROAD_BL, 18, 40); + grid.add_tile(tiles.ROAD_TR, 12, 38); + grid.add_tile(tiles.ROAD_BR, 12, 32); + grid.add_tile(tiles.ROAD_TL, 18, 30); + grid.add_tile(tiles.ROAD_BL, 18, 24); + grid.add_tile(tiles.ROAD_TR, 12, 22); + grid.add_tile(tiles.ROAD_BR, 12, 16); + grid.add_tile(tiles.ROAD_LR, 18, 16); + grid.add_tile(tiles.ROAD_TBLR, 24, 14); + grid.add_tile(tiles.ROAD_TB, 26, 2); + grid.add_tile(tiles.ROAD_TB, 26, 8); + grid.add_tile(tiles.ROAD_TB, 26, 22); + grid.add_tile(tiles.ROAD_TB, 26, 28); + grid.add_tile(tiles.ROAD_TB, 26, 34); + grid.add_tile(tiles.ROAD_TB, 26, 40); + grid.add_tile(tiles.ROAD_TB, 26, 46); + grid.add_tile(tiles.ROAD_BL, 32, 16); + grid.add_tile(tiles.ROAD_TB, 34, 22); + grid.add_tile(tiles.ROAD_TB, 34, 28); + grid.add_tile(tiles.ROAD_TB, 34, 34); + grid.add_tile(tiles.ROAD_TR, 34, 40); + grid.add_tile(tiles.ROAD_LR, 40, 42); + grid.add_tile(tiles.ROAD_LR, 46, 42); + grid.add_tile(tiles.ROAD_TL, 52, 40); + grid.add_tile(tiles.ROAD_BL, 52, 34); + grid.add_tile(tiles.ROAD_LR, 46, 34); + grid.add_tile(tiles.ROAD_TR, 40, 32); + grid.add_tile(tiles.ROAD_BR, 40, 26); + grid.add_tile(tiles.ROAD_LR, 46, 26); + grid.add_tile(tiles.ROAD_TL, 52, 24); + grid.add_tile(tiles.ROAD_BL, 52, 18); + grid.add_tile(tiles.ROAD_LR, 46, 18); + grid.add_tile(tiles.ROAD_TR, 40, 16); + grid.add_tile(tiles.ROAD_BR, 40, 10); + grid.add_tile(tiles.ROAD_LR, 46, 10); + grid.add_tile(tiles.ROAD_LR, 52, 10); + grid.add_tile(tiles.ROAD_LR, 58, 10); + grid.add_tile(tiles.EMPTY, 30, 20); - grid.add_tile('water', tiles.RIVER_TB, 47, 46); - grid.add_tile('water', tiles.RIVER_TB, 47, 40); - grid.add_tile('water', tiles.RIVER_TB, 47, 34); - grid.add_tile('water', tiles.RIVER_TB, 47, 28); - grid.add_tile('water', tiles.RIVER_TB, 47, 22); - grid.add_tile('water', tiles.RIVER_TB, 47, 16); - grid.add_tile('water', tiles.RIVER_TB, 47, 10); - grid.add_tile('water', tiles.RIVER_TB, 47, 4); + grid.add_tile(tiles.RIVER_TB, 47, 46); + grid.add_tile(tiles.RIVER_TB, 47, 40); + grid.add_tile(tiles.RIVER_TB, 47, 34); + grid.add_tile(tiles.RIVER_TB, 47, 28); + grid.add_tile(tiles.RIVER_TB, 47, 22); + grid.add_tile(tiles.RIVER_TB, 47, 16); + grid.add_tile(tiles.RIVER_TB, 47, 10); + grid.add_tile(tiles.RIVER_TB, 47, 4); - grid.add_tile('bridge', tiles.BRIDGE_LR, 46, 42); - grid.add_tile('bridge', tiles.BRIDGE_LR, 46, 34); - grid.add_tile('bridge', tiles.BRIDGE_LR, 46, 26); - grid.add_tile('bridge', tiles.BRIDGE_LR, 46, 18); - grid.add_tile('bridge', tiles.BRIDGE_LR, 46, 10); + grid.add_tile(tiles.BRIDGE_LR, 46, 42); + grid.add_tile(tiles.BRIDGE_LR, 46, 34); + grid.add_tile(tiles.BRIDGE_LR, 46, 26); + grid.add_tile(tiles.BRIDGE_LR, 46, 18); + grid.add_tile(tiles.BRIDGE_LR, 46, 10); - const tower = grid.add_tile('tower', tiles.TOWER_FIREBALL1, 30, 18); + const tower = grid.add_tile(tiles.TOWER_FIREBALL1, 30, 18); setInterval(() => tower.play('fire'), 3250); };