1package com.fs.starfarer.api.util;
11 private float rateSign;
12 private float rateMult = 1f;
13 private float valueMult = 1f;
15 private float sign = 0;
24 this.rate = Math.abs(rate);
26 value = min + (float) Math.random() * (max - min);
27 rateSign = Math.signum(rate);
32 value += amount * rate * rateSign * rateMult;
34 value += amount * rate * rateMult;
38 }
else if (value < min) {
48 this.rateMult = rateMult;
52 if (sign != 0)
return value * sign * valueMult;
53 return value * valueMult;
62 this.valueMult = valueMult;
91 this.rate = Math.abs(rate);
100 this.sign = Math.signum(sign);
104 sign = (float) Math.signum(Math.random() - 0.5f);
105 if (sign == 0) sign = 1;
108 rateSign = (float) Math.signum(Math.random() - 0.5f);
109 if (rateSign == 0) rateSign = 1;
119 this.rateSign = rateSign;
MutatingValueUtil(float min, float max, float rate)
void setRateSign(float rateSign)
void setValue(float value)
void setValueMult(float valueMult)
void advance(float amount)
void setRateMult(float rateMult)