50 lines
1.2 KiB
Plaintext
50 lines
1.2 KiB
Plaintext
(prop &mut :FlxDirector director)
|
|
|
|
(method :Dynamic callPrivate [:Dynamic obj :String method &rest :Array<Dynamic> args]
|
|
(Reflect.callMethod obj (Reflect.field obj method) args))
|
|
|
|
(prop &mut :MovieClass movie)
|
|
(method :MovieClass currentMovie []
|
|
#{
|
|
var c = movie;
|
|
while (c.skipMovie != null)
|
|
c = cast c.skipMovie;
|
|
return c;
|
|
}#)
|
|
|
|
(method &override :Void create []
|
|
(openfl.utils.Assets.cache.clear)
|
|
(set openfl.utils.Assets.cache.enabled false)
|
|
(set destroySubStates false)
|
|
(super.create)
|
|
(set director (new FlxDirector))
|
|
(set movie (new MovieClass director))
|
|
(director.promptForResume movie))
|
|
|
|
(method &override :Void destroy []
|
|
(callPrivate (currentMovie) "doCleanup")
|
|
(super.destroy))
|
|
|
|
(prop &mut focused true)
|
|
|
|
(method &override :Void onFocusLost []
|
|
(when FlxG.autoPause
|
|
(director.pause))
|
|
(set focused false))
|
|
|
|
(method &override :Void onFocus []
|
|
(when (and FlxG.autoPause !director.movie.paused)
|
|
(director.resume))
|
|
(kiss_flixel.DebugTools.f1ToRecord director.actionManager)
|
|
(set focused true))
|
|
|
|
(method &override :Void update [:Float elapsed]
|
|
#{
|
|
super.update(elapsed);
|
|
var c = currentMovie();
|
|
if (c.running)
|
|
{
|
|
c.update(elapsed);
|
|
}
|
|
}#)
|