package minizoo.c.action;
import minizoo.c.core.Vector2d;
public class ScaleTo extends Finite {
public static ScaleTo c(float duration, Vector2d to) {
return new ScaleTo(duration, to);
}
public static ScaleTo c(float duration, float sx, float sy) {
return new ScaleTo(duration, sx, sy);
}
public ScaleTo (float duration, Vector2d to) {
this.duration = duration;
this.to = to.clone();
}
public ScaleTo (float duration, float sx, float sy) {
this(duration, new Vector2d(sx, sy));
}
@Override
public void clear() {
super.clear();
from = getTarget().getScale().clone();
}
@Override
public void sample(float t) {
if (getTarget() != null) {
Vector2d res = new Vector2d(to);
res.sub(from);
res.mul(t);
res.add(from);
getTarget().setScale(res);
}
}
Vector2d from;
Vector2d to;
}