package de.lessvoid.nifty.tools.time.interpolator; import javax.annotation.Nonnull; import java.util.Properties; /** * This interpolator returns {@code 0.f} at its first run and {@code 2.f} during all following runs. */ public class OneTime implements Interpolator { /** * Storage if the interpolator already run once. */ private boolean hasRun; @Override public final void initialize(@Nonnull final Properties parameter) { hasRun = false; } @Override public void start() { hasRun = false; } @Override public final float getValue(final long lengthParam, final long timePassed) { if (!hasRun) { hasRun = true; return 0.0f; } else { return 2.0f; } } }