32 lines
649 B
Haxe
32 lines
649 B
Haxe
package ru.m.animate;
|
|
|
|
import promhx.Deferred;
|
|
import flash.display.BitmapData;
|
|
import promhx.Promise;
|
|
|
|
|
|
class OnceAnimate extends Animate {
|
|
|
|
private var deferred:Deferred<Animate>;
|
|
|
|
public function new(frames:Array<BitmapData>) {
|
|
super(frames);
|
|
}
|
|
|
|
public function play():Promise<Animate> {
|
|
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);
|
|
}
|
|
}
|
|
}
|
|
}
|