Starsector API
Loading...
Searching...
No Matches
AutoReducingValue.java
Go to the documentation of this file.
1
package
com.fs.starfarer.api.util;
2
3
4
public
class
AutoReducingValue
{
5
6
public
static
interface
ValueChangedListener {
7
void
valueChanged(
int
prev,
int
val
,
AutoReducingValue
arv
);
8
}
9
10
private
float
elapsed = 0f;
11
private
int
value = 0;
12
private
float
elapsedPerPoint;
13
private
final
ValueChangedListener listener;
14
15
16
public
AutoReducingValue
(
int
value,
float
elapsedPerPoint, ValueChangedListener listener) {
17
this.value = value;
18
this.elapsedPerPoint = elapsedPerPoint;
19
this.listener = listener;
20
}
21
22
public
void
advance
(
float
amount
) {
23
elapsed +=
amount
;
24
25
if
(elapsed >= elapsedPerPoint) {
26
elapsed -= elapsedPerPoint;
27
28
int
prev = value;
29
value--;
30
if
(value < 0) value = 0;
31
if
(prev != value && listener !=
null
) {
32
listener.valueChanged(prev, value,
this
);
33
}
34
}
35
}
36
37
public
int
getValue
() {
38
return
value;
39
}
40
41
public
void
setValue
(
int
value) {
42
int
prev = value;
43
this.value = value;
44
if
(prev != value && listener !=
null
) {
45
listener.valueChanged(prev, value,
this
);
46
}
47
}
48
49
public
void
increaseValue
(
int
amt
) {
50
int
prev = value;
51
this.value +=
amt
;
52
if
(value < 0) {
53
value = 0;
54
}
55
if
(prev != value && listener !=
null
) {
56
listener.valueChanged(prev, value,
this
);
57
}
58
}
59
60
public
void
reduceValue
(
int
amt
) {
61
int
prev = value;
62
this.value -=
amt
;
63
if
(value < 0) {
64
value = 0;
65
}
66
if
(prev != value && listener !=
null
) {
67
listener.valueChanged(prev, value,
this
);
68
}
69
}
70
71
}
com.fs.starfarer.api.util.AutoReducingValue
Definition
AutoReducingValue.java:4
com.fs.starfarer.api.util.AutoReducingValue.reduceValue
void reduceValue(int amt)
Definition
AutoReducingValue.java:60
com.fs.starfarer.api.util.AutoReducingValue.getValue
int getValue()
Definition
AutoReducingValue.java:37
com.fs.starfarer.api.util.AutoReducingValue.AutoReducingValue
AutoReducingValue(int value, float elapsedPerPoint, ValueChangedListener listener)
Definition
AutoReducingValue.java:16
com.fs.starfarer.api.util.AutoReducingValue.advance
void advance(float amount)
Definition
AutoReducingValue.java:22
com.fs.starfarer.api.util.AutoReducingValue.increaseValue
void increaseValue(int amt)
Definition
AutoReducingValue.java:49
com.fs.starfarer.api.util.AutoReducingValue.setValue
void setValue(int value)
Definition
AutoReducingValue.java:41
com.fs.starfarer.api.util.TimeoutTracker
Definition
TimeoutTracker.java:8
src
com
fs
starfarer
api
util
AutoReducingValue.java
Generated by
1.9.8