package br.com.etyllica.core.effect;
import br.com.etyllica.core.animation.AnimationHandler;
import br.com.etyllica.core.animation.script.FrameAnimation;
import br.com.etyllica.layer.AnimatedLayer;
/**
*
* @author yuripourre
*
*/
public class Effect extends AnimatedLayer {
private boolean active = false;
private FrameAnimation script = new FrameAnimation(this);
public Effect(int x, int y, int xTile, int yTile) {
super(x,y,xTile,yTile);
setVisible(false);
}
public Effect(int x, int y, int xTile, int yTile, String path) {
super(x, y, xTile, yTile, path);
setVisible(false);
}
@Override
protected void notifyAnimationFinishListener(long now) {
super.notifyAnimationFinishListener(now);
setVisible(false);
active = false;
}
@Override
public void animate(long now) {
if(!active)
return;
super.animate(now);
}
public void startEffect() {
script.setTarget(this);
active = true;
setVisible(true);
restartAnimation();
AnimationHandler.getInstance().add(script);
}
}