aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/io/github/moulberry/notenoughupdates/util/LerpingFloat.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/io/github/moulberry/notenoughupdates/util/LerpingFloat.java')
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/util/LerpingFloat.java98
1 files changed, 49 insertions, 49 deletions
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/util/LerpingFloat.java b/src/main/java/io/github/moulberry/notenoughupdates/util/LerpingFloat.java
index c6981467..a034fa8d 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/util/LerpingFloat.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/util/LerpingFloat.java
@@ -1,67 +1,67 @@
package io.github.moulberry.notenoughupdates.util;
public class LerpingFloat {
- private int timeSpent;
- private long lastMillis;
- private final int timeToReachTarget;
+ private int timeSpent;
+ private long lastMillis;
+ private final int timeToReachTarget;
- private float targetValue;
- private float lerpValue;
+ private float targetValue;
+ private float lerpValue;
- public LerpingFloat(float initialValue, int timeToReachTarget) {
- this.targetValue = this.lerpValue = initialValue;
- this.timeToReachTarget = timeToReachTarget;
- }
+ public LerpingFloat(float initialValue, int timeToReachTarget) {
+ this.targetValue = this.lerpValue = initialValue;
+ this.timeToReachTarget = timeToReachTarget;
+ }
- public LerpingFloat(int initialValue) {
- this(initialValue, 200);
- }
+ public LerpingFloat(int initialValue) {
+ this(initialValue, 200);
+ }
- public void tick() {
- int lastTimeSpent = timeSpent;
- this.timeSpent += System.currentTimeMillis() - lastMillis;
+ public void tick() {
+ int lastTimeSpent = timeSpent;
+ this.timeSpent += System.currentTimeMillis() - lastMillis;
- float lastDistPercentToTarget = lastTimeSpent / (float) timeToReachTarget;
- float distPercentToTarget = timeSpent / (float) timeToReachTarget;
- float fac = (1 - lastDistPercentToTarget) / lastDistPercentToTarget;
+ float lastDistPercentToTarget = lastTimeSpent / (float) timeToReachTarget;
+ float distPercentToTarget = timeSpent / (float) timeToReachTarget;
+ float fac = (1 - lastDistPercentToTarget) / lastDistPercentToTarget;
- float startValue = lerpValue - (targetValue - lerpValue) / fac;
+ float startValue = lerpValue - (targetValue - lerpValue) / fac;
- float dist = targetValue - startValue;
- if (dist == 0) return;
+ float dist = targetValue - startValue;
+ if (dist == 0) return;
- float oldLerpValue = lerpValue;
- if (distPercentToTarget >= 1) {
- lerpValue = targetValue;
- } else {
- lerpValue = startValue + dist * distPercentToTarget;
- }
+ float oldLerpValue = lerpValue;
+ if (distPercentToTarget >= 1) {
+ lerpValue = targetValue;
+ } else {
+ lerpValue = startValue + dist * distPercentToTarget;
+ }
- if (lerpValue == oldLerpValue) {
- timeSpent = lastTimeSpent;
- } else {
- this.lastMillis = System.currentTimeMillis();
- }
- }
+ if (lerpValue == oldLerpValue) {
+ timeSpent = lastTimeSpent;
+ } else {
+ this.lastMillis = System.currentTimeMillis();
+ }
+ }
- public void resetTimer() {
- this.timeSpent = 0;
- this.lastMillis = System.currentTimeMillis();
- }
+ public void resetTimer() {
+ this.timeSpent = 0;
+ this.lastMillis = System.currentTimeMillis();
+ }
- public void setTarget(float targetValue) {
- this.targetValue = targetValue;
- }
+ public void setTarget(float targetValue) {
+ this.targetValue = targetValue;
+ }
- public void setValue(float value) {
- this.targetValue = this.lerpValue = value;
- }
+ public void setValue(float value) {
+ this.targetValue = this.lerpValue = value;
+ }
- public float getValue() {
- return lerpValue;
- }
+ public float getValue() {
+ return lerpValue;
+ }
- public float getTarget() {
- return targetValue;
- }
+ public float getTarget() {
+ return targetValue;
+ }
}