add loading bar

This commit is contained in:
2023-05-11 14:24:37 -06:00
parent c324038e5f
commit 5df1c7e54a
2 changed files with 20 additions and 2 deletions

View File

@@ -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;

View File

@@ -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 [:Array<Void->Void> _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 []