Timer class
Пакет: com.hypixel.hytale.server.npc.util
Файл: com/hypixel/hytale/server/npc/util/Timer.java
implements: Tickable
Поля (4)
| Модификаторы | Тип | Имя |
|---|---|---|
|
private final String |
asText |
|
private final String |
asText |
private |
double |
value |
|
double |
var2 |
Методы (28)
| Модификаторы | Возврат | Сигнатура |
|---|---|---|
abstract |
|
ANY ANY("Any") |
abstract |
|
MODIFY MODIFY("Modify") |
|
|
TimerAction TimerAction(String nullxx) |
|
|
TimerState TimerState(String nullxx) |
public |
void |
addValuevoid addValue(double var1) |
|
public String |
asTextpublic String asText() |
|
public String |
asTextpublic String asText() |
|
public String |
getpublic String get() |
|
public String |
getpublic String get() |
public |
double |
getValuedouble getValue() |
|
|
if if(this.state == Timer.TimerState.RUNNING) |
|
|
if if(this.repeating) |
public |
boolean |
isInStateboolean isInState(Timer.TimerState var1) |
public |
boolean |
isInitialisedboolean isInitialised() |
public |
boolean |
isPausedboolean isPaused() |
public |
boolean |
isRunningboolean isRunning() |
public |
boolean |
isStoppedboolean isStopped() |
public |
void |
pausevoid pause() |
private |
double |
pickNextTimerValuedouble pickNextTimerValue() |
public |
void |
restartvoid restart() |
public |
void |
resumevoid resume() |
public |
void |
setMaxValuevoid setMaxValue(double var1) |
public |
void |
setMinRestartValuevoid setMinRestartValue(double var1) |
public |
void |
setRatevoid setRate(double var1) |
public |
void |
setRepeatingvoid setRepeating(boolean var1) |
public |
void |
setValuevoid setValue(double var1) |
public |
void |
startvoid start(double var1, double var3, double var5, double var7, double var9, boolean var11) |
public |
void |
stopvoid stop() |
Исходный код
Показать/скрыть
class="kw">package com.hypixel.hytale.server.npc.util;
class="kw">import com.hypixel.hytale.common.thread.ticking.Tickable;
class="kw">import com.hypixel.hytale.math.random.RandomExtra;
class="kw">import java.util.function.Supplier;
class="kw">public class Timer class="kw">implements Tickable {
class="kw">private double value = 0.0;
class="kw">private double minRestartValue;
class="kw">private double maxValue;
class="kw">private double rate;
class="kw">private boolean repeating;
class="kw">private Timer.TimerState state = Timer.TimerState.STOPPED;
class="kw">private boolean initialised;
class="kw">public Timer() {
}
class="kw">public void setRate(double var1) {
this.rate = var1;
}
class="kw">public void setMinRestartValue(double var1) {
this.minRestartValue = var1;
}
class="kw">public void setMaxValue(double var1) {
this.maxValue = var1;
}
class="kw">public void setValue(double var1) {
this.value = Math.min(var1, this.maxValue);
}
class="kw">public void setRepeating(boolean var1) {
this.repeating = var1;
}
class="kw">public double getValue() {
class="kw">return this.value;
}
class="kw">public boolean isInitialised() {
class="kw">return this.initialised;
}
@Override
class="kw">public void tick(float var1) {
if (this.state == Timer.TimerState.RUNNING) {
this.value = this.value - var1 * this.rate;
if (!(this.value > 0.0)) {
if (this.repeating) {
double var2 = this.value;
this.restart();
this.value -= var2;
} else {
this.state = Timer.TimerState.STOPPED;
this.value = 0.0;
}
}
}
}
class="kw">public void start(double var1, double var3, double var5, double var7, double var9, boolean var11) {
this.value = RandomExtra.randomRange(var1, var3);
this.minRestartValue = var5;
this.maxValue = var7;
this.rate = var9;
this.repeating = var11;
this.state = Timer.TimerState.RUNNING;
this.initialised = true;
}
class="kw">public void resume() {
if (this.isPaused()) {
this.state = Timer.TimerState.RUNNING;
}
}
class="kw">public void pause() {
if (this.isRunning()) {
this.state = Timer.TimerState.PAUSED;
}
}
class="kw">public void addValue(double var1) {
this.value = Math.min(this.value + var1, this.maxValue);
}
class="kw">public void stop() {
this.state = Timer.TimerState.STOPPED;
}
class="kw">public void restart() {
this.value = this.pickNextTimerValue();
this.state = Timer.TimerState.RUNNING;
}
class="kw">public boolean isInState(Timer.TimerState var1) {
class="kw">return var1 == Timer.TimerState.ANY || this.state == var1;
}
class="kw">public boolean isPaused() {
class="kw">return this.state == Timer.TimerState.PAUSED;
}
class="kw">public boolean isRunning() {
class="kw">return this.state == Timer.TimerState.RUNNING;
}
class="kw">public boolean isStopped() {
class="kw">return this.state == Timer.TimerState.STOPPED;
}
class="kw">private double pickNextTimerValue() {
class="kw">return RandomExtra.randomRange(this.minRestartValue, this.maxValue);
}
class="kw">public enum TimerAction class="kw">implements Supplier<String> {
START("Start"),
STOP("Stop"),
PAUSE("Pause"),
CONTINUE("Continue"),
RESTART("Restart"),
MODIFY("Modify");
class="kw">private class="kw">final String asText;
TimerAction(String nullxx) {
this.asText = nullxx;
}
class="kw">public String asText() {
class="kw">return this.asText;
}
class="kw">public String get() {
class="kw">return this.asText;
}
}
class="kw">public enum TimerState class="kw">implements Supplier<String> {
RUNNING("Running"),
PAUSED("Paused"),
STOPPED("Stopped"),
ANY("Any");
class="kw">private class="kw">final String asText;
TimerState(String nullxx) {
this.asText = nullxx;
}
class="kw">public String asText() {
class="kw">return this.asText;
}
class="kw">public String get() {
class="kw">return this.asText;
}
}
}