Level class created and gravity editable.

This commit is contained in:
Mal
2020-02-16 00:53:03 +01:00
parent cec3cc726f
commit a7ecbf9d2e
20 changed files with 277 additions and 133 deletions

View File

@@ -1,44 +1,42 @@
export default class Tilorswift
{
static getTerrainAsJson(terrain)
static getLevelAsJson(level)
{
console.log('Save da shit.');
let matrix = [];
console.log(terrain.fields.length);
for (let y = 0; y < terrain.fields.length; y++) {
for (let y = 0; y < level.terrain.fields.length; y++) {
let row = [];
for (let x = 0; x < terrain.fields[y].length; x++) {
row.push(terrain.fields[y][x].index);
for (let x = 0; x < level.terrain.fields[y].length; x++) {
row.push(level.terrain.fields[y][x].index);
}
matrix.push(row);
}
let data = {
tileset: terrain.tileset.setId,
rows: terrain.tilesY,
columns: terrain.tilesX,
startX: terrain.entranceTileX,
startY: terrain.entranceTileY,
targetX: terrain.targetTileX,
targetY: terrain.targetTileY,
tileset: level.getTilesetId(),
rows: level.getRows(),
columns: level.getColumns(),
startX: level.getStartX(),
startY: level.getStartY(),
targetX: level.getTargetX(),
targetY: level.getTargetY(),
gravity: level.gravity,
matrix: matrix,
};
return JSON.stringify(data);
}
static saveTerrainToFile(terrain)
static saveLevelToFile(level)
{
if (!terrain.hasEntrancePoint()) {
if (!level.hasEntrancePoint()) {
alert('Es muss ein Startpunkt definiert sein!');
return false;
}
if (!terrain.hasTargetPoint()) {
if (!level.hasTargetPoint()) {
alert('Es muss ein Zielpunkt definiert sein!');
return false;
}
@@ -49,7 +47,7 @@ export default class Tilorswift
return false;
}
let json = Tilorswift.getTerrainAsJson(terrain);
let json = Tilorswift.getLevelAsJson(level);
let download = document.createElement('a');
download.setAttribute('download', filename);