Gisela and target point added.

This commit is contained in:
Mal
2020-02-11 21:20:11 +01:00
parent 3be3ffb89a
commit acd8b92731
10 changed files with 168 additions and 28 deletions

View File

@@ -12,6 +12,8 @@ export default class Terrain
this.tilesY = tilesY;
this.entranceTileX = undefined;
this.entranceTileY = undefined;
this.targetTileX = undefined;
this.targetTileY = undefined;
this.backgroundColor = backgroundColor;
this.htmlElement = document.createElement('table');
this.brushTileIndex = 0;
@@ -134,6 +136,20 @@ export default class Terrain
}
}
setTargetPoint(tileX, tileY)
{
if (this.fields[tileY][tileX].index === -1) {
if (this.targetTileX !== undefined && this.targetTileY !== undefined) {
this.fields[this.targetTileY][this.targetTileX].setTargetPoint(false);
}
this.targetTileX = tileX;
this.targetTileY = tileY;
this.fields[tileY][tileX].setTargetPoint(true);
}
}
getFieldCoordinates(field)
{
for (let y = 0; y < this.fields.length; y++) {
@@ -152,6 +168,11 @@ export default class Terrain
return this.entranceTileX !== undefined && this.entranceTileY !== undefined;
}
hasTargetPoint()
{
return this.targetTileX !== undefined && this.targetTileY !== undefined;
}
static createFromJson(terrainData)
{
let imageTileset = new Image();
@@ -166,6 +187,8 @@ export default class Terrain
if (x === terrainData.startX && y === terrainData.startY) {
terrain.setEntrancePoint(x, y);
} else if (x === terrainData.targetX && y === terrainData.targetY) {
terrain.setTargetPoint(x, y);
}
}
}