Files
hollywoo-flixel/src/hollywoo_flixel/MovieFlxState.kiss

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);
}
}#)