package ru.m.animate; import promhx.Deferred; import promhx.Promise; class OnceAnimate extends Animate { private var deferred:Deferred; public function play():Promise { deferred = new Deferred(); playing = true; return deferred.promise(); } override private function update():Void { super.update(); if (index == 0) { playing = false; if (deferred != null) { deferred.resolve(this); } } } }