mirror of
https://git.leinelab.org/Mal/mr-crocs-adventures.git
synced 2025-09-11 02:57:36 +02:00
Level class created and gravity editable.
This commit is contained in:
87
js/Level.js
Normal file
87
js/Level.js
Normal file
@@ -0,0 +1,87 @@
|
||||
import FileLoader from "./FileLoader.js";
|
||||
import Terrain from "../tilorswift/js/Terrain.js";
|
||||
|
||||
export default class Level
|
||||
{
|
||||
constructor(terrain)
|
||||
{
|
||||
this.terrain = terrain;
|
||||
this.gravity = 2.0;
|
||||
}
|
||||
|
||||
getTilesetId()
|
||||
{
|
||||
return this.terrain.tileset.setId;
|
||||
}
|
||||
|
||||
getBackgroundColor()
|
||||
{
|
||||
return this.terrain.backgroundColor;
|
||||
}
|
||||
|
||||
getBackgroundImage()
|
||||
{
|
||||
return this.terrain.backgroundImage;
|
||||
}
|
||||
|
||||
getRows()
|
||||
{
|
||||
return this.terrain.tilesY;
|
||||
}
|
||||
|
||||
getColumns()
|
||||
{
|
||||
return this.terrain.tilesX;
|
||||
}
|
||||
|
||||
getStartX()
|
||||
{
|
||||
return this.terrain.entranceTileX;
|
||||
}
|
||||
|
||||
getStartY()
|
||||
{
|
||||
return this.terrain.entranceTileY;
|
||||
}
|
||||
|
||||
getTargetX()
|
||||
{
|
||||
return this.terrain.targetTileX;
|
||||
}
|
||||
|
||||
getTargetY()
|
||||
{
|
||||
return this.terrain.targetTileY;
|
||||
}
|
||||
|
||||
getTilesetMatrix()
|
||||
{
|
||||
return this.terrain.fields;
|
||||
}
|
||||
|
||||
hasEntrancePoint()
|
||||
{
|
||||
return this.terrain.hasEntrancePoint();
|
||||
}
|
||||
|
||||
hasTargetPoint()
|
||||
{
|
||||
return this.terrain.hasTargetPoint();
|
||||
}
|
||||
|
||||
setGravity(gravity)
|
||||
{
|
||||
this.gravity = gravity;
|
||||
}
|
||||
|
||||
static createFromFile(filename)
|
||||
{
|
||||
let loader = new FileLoader(filename);
|
||||
let levelData = JSON.parse(loader.getContent());
|
||||
let terrain = Terrain.createFromJson(levelData);
|
||||
let level = new Level(terrain);
|
||||
level.setGravity(levelData.gravity);
|
||||
|
||||
return level;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user