Create onFinish Animation hook

This commit is contained in:
2021-03-21 10:58:11 +01:00
parent 11664d809a
commit 83c2bff771
4 changed files with 13 additions and 0 deletions

View File

@@ -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();

View File

@@ -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();

View File

@@ -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;

View File

@@ -48,6 +48,7 @@ public abstract class BaseLayer implements Layer, Updatable {
if (animation.finished()) { if (animation.finished()) {
iterator.remove(); iterator.remove();
animation.onFinish(this);
} }
} }
} }