Main menu and save function to json file implemented.

This commit is contained in:
Mal
2020-02-02 23:00:14 +01:00
parent 9c3aca1bc9
commit d893483da9
11 changed files with 252 additions and 7 deletions

View File

@@ -0,0 +1,40 @@
export default class Tilorswift
{
static getTerrainAsJson(terrain)
{
let matrix = [];
for (let y = 0; y < terrain.fields.length; y++) {
let row = [];
for (let x = 0; x < terrain.fields[y].length; x++) {
row.push(terrain.fields[y][x].index);
}
matrix.push(row);
}
let data = {
tileset: terrain.tileset.image.src,
tiles: terrain.tileset.tiles,
scale: terrain.tileset.scale,
rows: terrain.tilesY,
columns: terrain.tilesX,
backgroundColor: terrain.backgroundColor,
matrix: matrix,
};
return JSON.stringify(data);
}
static saveTerrainToFile(terrain)
{
let json = Tilorswift.getTerrainAsJson(terrain);
let download = document.createElement('a');
download.setAttribute('download', 'terrain.json');
download.setAttribute('href', 'data:text/plain;charset=utf-8,' + encodeURIComponent(json));
download.click();
download.remove();
}
}