Real tileset support

This commit is contained in:
Ian Gulliver
2021-05-13 02:03:41 +00:00
parent 94bad7b7d4
commit 6cc4e620ee
41 changed files with 12753 additions and 70 deletions

View File

@@ -13,7 +13,7 @@ export class SimpleTileFactory extends AnimatableTileFactory {
return new SimpleTile(
this.width,
this.height,
`images/${tileset}/${this.name}.svg`,
`images/${this.name.replace('{tileset}', tileset)}.svg`,
this.animations,
);
}

View File

@@ -3,42 +3,42 @@ import { SequenceTileFactory } from './sequence_tile_factory.js';
import { SimpleTileFactory } from './simple_tile_factory.js';
// Straig
export const ROAD_LR = new SimpleTileFactory('road', 6, 4, 'road-lr');
export const ROAD_TB = new SimpleTileFactory('road', 4, 6, 'road-tb');
export const ROAD_LR = new SimpleTileFactory('road', 6, 4, '{tileset}/road-lr');
export const ROAD_TB = new SimpleTileFactory('road', 4, 6, '{tileset}/road-tb');
// Elbow
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');
export const ROAD_BL = new SimpleTileFactory('road', 6, 6, '{tileset}/road-bl');
export const ROAD_BR = new SimpleTileFactory('road', 6, 6, '{tileset}/road-br');
export const ROAD_TL = new SimpleTileFactory('road', 6, 6, '{tileset}/road-tl');
export const ROAD_TR = new SimpleTileFactory('road', 6, 6, '{tileset}/road-tr');
// T
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_BLR = new SimpleTileFactory('road', 8, 6, '{tileset}/road-blr');
export const ROAD_TLR = new SimpleTileFactory('road', 8, 6, '{tileset}/road-tlr');
export const ROAD_LTB = new SimpleTileFactory('road', 6, 8, '{tileset}/road-ltb');
export const ROAD_RTB = new SimpleTileFactory('road', 6, 8, '{tileset}/road-rtb');
// +
export const ROAD_TBLR = new SimpleTileFactory('road', 8, 8, 'road-tblr');
export const ROAD_TBLR = new SimpleTileFactory('road', 8, 8, '{tileset}/road-tblr');
// Tower base
export const EMPTY = new SimpleTileFactory('road', 4, 2, 'empty');
export const EMPTY = new SimpleTileFactory('road', 4, 2, '{tileset}/empty');
// Straight
export const RIVER_LR = new SimpleTileFactory('water', 6, 4, 'river-lr');
export const RIVER_TB = new SimpleTileFactory('water', 4, 6, 'river-tb');
export const RIVER_LR = new SimpleTileFactory('water', 6, 4, '{tileset}/river-lr');
export const RIVER_TB = new SimpleTileFactory('water', 4, 6, '{tileset}/river-tb');
// Elbow
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 RIVER_BR = new SimpleTileFactory('water', 6, 6, '{tileset}/river-br');
export const RIVER_BL = new SimpleTileFactory('water', 6, 6, '{tileset}/river-bl');
export const RIVER_TR = new SimpleTileFactory('water', 6, 6, '{tileset}/river-tr');
export const RIVER_TL = new SimpleTileFactory('water', 6, 6, '{tileset}/river-tl');
export const BRIDGE_LR = new SimpleTileFactory('bridge', 6, 4, 'bridge-lr');
export const BRIDGE_LR = new SimpleTileFactory('bridge', 6, 4, '{tileset}/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');
const tower_fireball1_back = new SimpleTileFactory('surface', 4, 4, 'tower/fireball1-back');
const tower_fireball1 = new SimpleTileFactory('surface', 4, 4, 'tower/fireball1');
const tower_fireball1_front = new SimpleTileFactory('surface', 4, 4, 'tower/fireball1-front');
for (const tile_factory of [tower_fireball1_back, tower_fireball1_front]) {
tile_factory.add_animation(
@@ -75,15 +75,15 @@ export const TOWER_FIREBALL1 = new LayeredTileFactory([
tower_fireball1_front,
]);
export const FIREBALL = new SimpleTileFactory('projectile', 2, 2, 'fireball');
export const FIREBALL = new SimpleTileFactory('projectile', 2, 2, 'tower/fireball');
export const FIREBALL_IMPACT = new SequenceTileFactory([
new SimpleTileFactory('surface', 2, 2, 'fireball-impact1'),
new SimpleTileFactory('surface', 2, 2, 'fireball-impact2'),
new SimpleTileFactory('surface', 2, 2, 'fireball-impact3'),
new SimpleTileFactory('surface', 2, 2, 'fireball-impact4'),
new SimpleTileFactory('surface', 2, 2, 'fireball-impact5'),
new SimpleTileFactory('surface', 2, 2, 'fireball-impact6'),
new SimpleTileFactory('surface', 2, 2, 'fireball-impact7'),
new SimpleTileFactory('surface', 2, 2, 'fireball-impact8'),
new SimpleTileFactory('surface', 2, 2, 'tower/fireball-impact1'),
new SimpleTileFactory('surface', 2, 2, 'tower/fireball-impact2'),
new SimpleTileFactory('surface', 2, 2, 'tower/fireball-impact3'),
new SimpleTileFactory('surface', 2, 2, 'tower/fireball-impact4'),
new SimpleTileFactory('surface', 2, 2, 'tower/fireball-impact5'),
new SimpleTileFactory('surface', 2, 2, 'tower/fireball-impact6'),
new SimpleTileFactory('surface', 2, 2, 'tower/fireball-impact7'),
new SimpleTileFactory('surface', 2, 2, 'tower/fireball-impact8'),
], 50, false);

View File

@@ -24,7 +24,7 @@ export function main() {
const grid = new Grid(real);
grid.set_size(70, 56);
grid.set_tileset('tropical');
grid.set_tileset('wasteland');
grid.set_layers(['road', 'water', 'bridge', 'surface', 'projectile']);
grid.add_tile(tiles.ROAD_TB, 20, 46);