/**
*
* @param levelId
* @param gameObjects
*/
public function buildLevelObjectsFromJson(levelId:UInt = 0, gameObjects:Array<LevelObjects>):Void
{
logLevelBuild(levelId);
this.levelId = levelId;
for (obj in gameObjects)
{
trace('adding: ' + obj.id + ' to game objects pool');
var gameObj:GameObject = this.factory.get(
obj.type,
obj.typeId,
obj.delayBefore,
obj.delayAfter,
obj.speed,
obj.xPos,
obj.yPos
);
gameObj.setSpriteAnimations(textureAtlas);
setStartingPosition(gameObj, obj.xPos, obj.yPos);
setDelays(gameObj, obj.delayBefore, obj.delayAfter);
gameObj.setBounds(this.bounds);
gameObj.kill();
this.add(gameObj);
}
}
public function start():Void
{
this.timer.start(FlxRandom.intRanged(0, 5), addGameObject, 1);
}
private function addGameObject(Timer:FlxTimer):Void
{
var obj:GameObject = cast(this.recycle(GameObject), GameObject);
setStartingPosition(obj);
trace('created ' + obj.getType());
timer.start(FlxRandom.intRanged(2, 5), addGameObject, 1);
}