diff --git a/src/MarbleWorld.hx b/src/MarbleWorld.hx index ac540f09..e98ad17a 100644 --- a/src/MarbleWorld.hx +++ b/src/MarbleWorld.hx @@ -187,21 +187,18 @@ class MarbleWorld extends Scheduler { this._loadingLength = resourceLoadFuncs.length; fwd(); }); - this.resourceLoadFuncs.push(fwd -> { - this.playGui.init(this.scene2d); - var musicFileName = [ - 'data/sound/groovepolice.ogg', - 'data/sound/classic vibe.ogg', - 'data/sound/beach party.ogg' - ][(mission.index + 1) % 3]; - AudioManager.playMusic(ResourceLoader.getResource(musicFileName, ResourceLoader.getAudio, this.soundResources)); - fwd(); - }); this._loadingLength = resourceLoadFuncs.length; } public function postInit() { this._ready = true; + this.playGui.init(this.scene2d); + var musicFileName = [ + 'data/sound/groovepolice.ogg', + 'data/sound/classic vibe.ogg', + 'data/sound/beach party.ogg' + ][(mission.index + 1) % 3]; + AudioManager.playMusic(ResourceLoader.getResource(musicFileName, ResourceLoader.getAudio, this.soundResources)); MarbleGame.canvas.clearContent(); this.endPad.generateCollider(); this.playGui.formatGemCounter(this.gemCount, this.totalGems); diff --git a/src/ResourceLoader.hx b/src/ResourceLoader.hx index 9635ea35..3b922e78 100644 --- a/src/ResourceLoader.hx +++ b/src/ResourceLoader.hx @@ -55,12 +55,44 @@ class ResourceLoader { }, scene2d); loader = mloader; fileSystem = mfileSystem; + var loadg = new h2d.Text(hxd.res.DefaultFont.get()); + loadg.textAlign = Center; + loadg.textColor = 0xffffff; + loadg.y = scene2d.height / 2; + loadg.x = scene2d.width / 2; + loadg.scale(2.5); + scene2d.addChild(loadg); + var worker = new ResourceLoaderWorker(onLoadedFunc); + worker.addTask(fwd -> { + loadg.text = "Loading UI.."; + fwd(); + }); worker.addTask(fwd -> preloadUI(fwd)); + worker.addTask(fwd -> { + loadg.text = "Loading Missions.."; + fwd(); + }); worker.addTask(fwd -> preloadMisFiles(fwd)); + worker.addTask(fwd -> { + loadg.text = "Loading Music.."; + fwd(); + }); worker.addTask(fwd -> preloadMusic(fwd)); + worker.addTask(fwd -> { + loadg.text = "Loading Sounds.."; + fwd(); + }); worker.addTask(fwd -> preloadUISounds(fwd)); + worker.addTask(fwd -> { + loadg.text = "Loading Shapes.."; + fwd(); + }); worker.addTask(fwd -> preloadShapes(fwd)); + worker.addTask(fwd -> { + scene2d.removeChild(loadg); + fwd(); + }); worker.run(); // preloader.start(); #end