diff --git a/src/hollywoo_flixel/FlxDirector.hx b/src/hollywoo_flixel/FlxDirector.hx index 254a645..2e235b9 100644 --- a/src/hollywoo_flixel/FlxDirector.hx +++ b/src/hollywoo_flixel/FlxDirector.hx @@ -19,6 +19,7 @@ import flixel.text.FlxText; import flixel.system.FlxSound; import flixel.FlxCamera; import flixel.util.FlxTimer; +import flixel.ui.FlxBar; import flixel.math.FlxPoint; import haxe.Constraints; import kiss_flixel.SpriteTools; diff --git a/src/hollywoo_flixel/FlxDirector.kiss b/src/hollywoo_flixel/FlxDirector.kiss index d0d8f67..248f98e 100644 --- a/src/hollywoo_flixel/FlxDirector.kiss +++ b/src/hollywoo_flixel/FlxDirector.kiss @@ -271,9 +271,26 @@ (FlxG.state.add titleCard) (cc)) -(method :Void doLoading [:Void->Void _load :Continuation cc] - (let [loop (new flixel.addons.util.FlxAsyncLoop 1 ->:Void {(_load)(cc)})] +(method :Void doLoading [:ArrayVoid> _load :Continuation cc] + (let [doneFuncs [] + bar (new FlxBar 0 0 LEFT_TO_RIGHT (iThird FlxG.width) SimpleWindow.textSize doneFuncs "length" 0 _load.length true) + loop (new flixel.addons.util.FlxAsyncLoop (+ 1 _load.length) + ->:Void + (ifLet [nextLoad (_load.shift)] + { + (nextLoad) + (doneFuncs.push nextLoad) + } + { + (FlxG.state.remove bar) + (cc) + }) 1)] (haxe.Timer.delay ->:Void (loop.start) 1) + // (set bar.cameras [flxMovie.uiCamera]) + (bar.createColoredEmptyBar FlxColor.BLACK true FlxColor.WHITE) + (bar.createColoredFilledBar FlxColor.WHITE false) + (bar.screenCenter) + (FlxG.state.add bar) (FlxG.state.add loop))) (method :Void hideTitleCard []