Tilorswift levels will be loaded asynchronously now

This commit is contained in:
Mal
2023-09-19 11:44:56 +02:00
parent c6b0baa533
commit f02fb4d411
5 changed files with 117 additions and 98 deletions

View File

@@ -74,15 +74,17 @@ export default class Level
this.gravity = gravity;
}
static createFromFile(filename)
static createFromFile(filename, callback = () => {})
{
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);
loader.onLoad = (data) => {
const json = JSON.parse(data);
const level = new Level(Terrain.createFromJson(json));
level.setGravity(json.gravity);
return level;
callback(level);
}
loader.loadContent();
}
static createFromJson(json)