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 onFinish(Layer layer);
|
||||
|
||||
void finish();
|
||||
|
||||
boolean finished();
|
||||
|
||||
@@ -174,6 +174,11 @@ public abstract class AnimationDelegate implements Animation {
|
||||
animation.onAdd(layer);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onFinish(Layer layer) {
|
||||
animation.onFinish(layer);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void finish() {
|
||||
animation.finish();
|
||||
|
||||
@@ -99,6 +99,11 @@ public class DefaultAnimation extends MovableSprite implements Animation {
|
||||
this.isObjectLayer = layer instanceof ObjectLayer;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onFinish(Layer layer) {
|
||||
// do nothing
|
||||
}
|
||||
|
||||
@Override
|
||||
public void finish() {
|
||||
this.forcedFinish = true;
|
||||
|
||||
@@ -48,6 +48,7 @@ public abstract class BaseLayer implements Layer, Updatable {
|
||||
|
||||
if (animation.finished()) {
|
||||
iterator.remove();
|
||||
animation.onFinish(this);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user