package com.danitheskunk.skunkworks.nodes;

public abstract class BaseTween {
	protected int endFrame;
	protected double progress;
	protected int startFrame;
	protected Runnable thenFunc;

	public BaseTween() {
		progress = 0;
		thenFunc = null;
	}

	protected abstract void apply();

	public BaseTween delay(int frames) {
		startFrame += frames;
		endFrame += frames;
		return this;
	}

	public void setProgress(double progress) {
		this.progress = progress;
	}

	public BaseTween then(Runnable func) {
		thenFunc = func;
		return this;
	}
}
