Create onFinish Animation hook
This commit is contained in:
@@ -30,6 +30,8 @@ public interface Animation extends Placeable, Movable, Renderable, Updatable {
|
|||||||
|
|
||||||
void onAdd(Layer layer);
|
void onAdd(Layer layer);
|
||||||
|
|
||||||
|
void onFinish(Layer layer);
|
||||||
|
|
||||||
void finish();
|
void finish();
|
||||||
|
|
||||||
boolean finished();
|
boolean finished();
|
||||||
|
|||||||
@@ -174,6 +174,11 @@ public abstract class AnimationDelegate implements Animation {
|
|||||||
animation.onAdd(layer);
|
animation.onAdd(layer);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onFinish(Layer layer) {
|
||||||
|
animation.onFinish(layer);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void finish() {
|
public void finish() {
|
||||||
animation.finish();
|
animation.finish();
|
||||||
|
|||||||
@@ -99,6 +99,11 @@ public class DefaultAnimation extends MovableSprite implements Animation {
|
|||||||
this.isObjectLayer = layer instanceof ObjectLayer;
|
this.isObjectLayer = layer instanceof ObjectLayer;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onFinish(Layer layer) {
|
||||||
|
// do nothing
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void finish() {
|
public void finish() {
|
||||||
this.forcedFinish = true;
|
this.forcedFinish = true;
|
||||||
|
|||||||
@@ -48,6 +48,7 @@ public abstract class BaseLayer implements Layer, Updatable {
|
|||||||
|
|
||||||
if (animation.finished()) {
|
if (animation.finished()) {
|
||||||
iterator.remove();
|
iterator.remove();
|
||||||
|
animation.onFinish(this);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user