ActionTimer class
Пакет: com.hypixel.hytale.server.npc.corecomponents.timer
Файл: com/hypixel/hytale/server/npc/corecomponents/timer/ActionTimer.java
extends: ActionBase
Поля (9)
| Модификаторы | Тип | Имя |
|---|---|---|
|
|
break |
|
|
break |
|
|
break |
|
|
break |
|
|
break |
final |
Timer |
timer |
|
double[] |
var3 |
|
double[] |
var3 |
|
double[] |
var4 |
Методы (14)
| Модификаторы | Возврат | Сигнатура |
|---|---|---|
protected |
void |
executeContinueActionvoid executeContinueAction() |
protected |
void |
executeModifyActionvoid executeModifyAction() |
protected |
void |
executePauseActionvoid executePauseAction() |
protected |
void |
executeRestartActionvoid executeRestartAction() |
protected |
void |
executeStartActionvoid executeStartAction() |
protected |
void |
executeStopActionvoid executeStopAction() |
|
|
if if(this.minRestartValue > 0.0) |
|
|
if if(this.maxValue > 0.0) |
|
|
if if(this.minStartValue > 0.0) |
|
|
if if(this.increaseValue > 0.0) |
|
|
if if(this.rate > 0.0) |
|
|
if if(this.modifyRepeating) |
abstract |
|
super super(var1) |
|
|
switch switch(this.action) |
Исходный код
Показать/скрыть
class="kw">package com.hypixel.hytale.server.npc.corecomponents.timer;
class="kw">import com.hypixel.hytale.component.Ref;
class="kw">import com.hypixel.hytale.component.Store;
class="kw">import com.hypixel.hytale.server.core.universe.world.storage.EntityStore;
class="kw">import com.hypixel.hytale.server.npc.asset.builder.BuilderSupport;
class="kw">import com.hypixel.hytale.server.npc.corecomponents.ActionBase;
class="kw">import com.hypixel.hytale.server.npc.corecomponents.timer.builders.BuilderActionTimer;
class="kw">import com.hypixel.hytale.server.npc.corecomponents.timer.builders.BuilderActionTimerContinue;
class="kw">import com.hypixel.hytale.server.npc.corecomponents.timer.builders.BuilderActionTimerModify;
class="kw">import com.hypixel.hytale.server.npc.corecomponents.timer.builders.BuilderActionTimerPause;
class="kw">import com.hypixel.hytale.server.npc.corecomponents.timer.builders.BuilderActionTimerRestart;
class="kw">import com.hypixel.hytale.server.npc.corecomponents.timer.builders.BuilderActionTimerStart;
class="kw">import com.hypixel.hytale.server.npc.corecomponents.timer.builders.BuilderActionTimerStop;
class="kw">import com.hypixel.hytale.server.npc.instructions.ExecutionSupport;
class="kw">import com.hypixel.hytale.server.npc.sensorinfo.InfoProvider;
class="kw">import com.hypixel.hytale.server.npc.util.Timer;
class="kw">import javax.annotation.Nonnull;
class="kw">import javax.annotation.Nullable;
class="kw">public class ActionTimer class="kw">extends ActionBase {
class="kw">protected class="kw">final Timer timer;
class="kw">protected class="kw">final Timer.TimerAction action;
class="kw">protected double minStartValue;
class="kw">protected double maxStartValue;
class="kw">protected double minRestartValue;
class="kw">protected double maxValue;
class="kw">protected double rate;
class="kw">protected double increaseValue;
class="kw">protected boolean modifyRepeating;
class="kw">protected boolean repeating;
class="kw">public ActionTimer(@Nonnull BuilderActionTimer var1, @Nonnull BuilderSupport var2) {
super(var1);
this.timer = var1.getTimer(var2);
this.action = var1.getTimerAction();
}
class="kw">public ActionTimer(@Nonnull BuilderActionTimerStart var1, @Nonnull BuilderSupport var2) {
this((BuilderActionTimer)var1, var2);
double[] var3 = var1.getStartValueRange(var2);
this.minStartValue = var3[0];
this.maxStartValue = var3[1];
double[] var4 = var1.getRestartValueRange(var2);
this.minRestartValue = var4[0];
this.maxValue = var4[1];
this.rate = var1.getRate(var2);
this.repeating = var1.isRepeating(var2);
}
class="kw">public ActionTimer(@Nonnull BuilderActionTimerModify var1, @Nonnull BuilderSupport var2) {
this((BuilderActionTimer)var1, var2);
this.increaseValue = var1.getIncreaseValue(var2);
double[] var3 = var1.getRestartValueRange(var2);
this.minRestartValue = var3[0];
this.maxValue = var3[1];
this.rate = var1.getRate(var2);
this.minStartValue = var1.getSetValue(var2);
this.repeating = var1.isRepeating(var2);
this.modifyRepeating = var1.isModifyRepeating();
}
class="kw">public ActionTimer(BuilderActionTimerPause var1, @Nonnull BuilderSupport var2) {
this((BuilderActionTimer)var1, var2);
}
class="kw">public ActionTimer(BuilderActionTimerStop var1, @Nonnull BuilderSupport var2) {
this((BuilderActionTimer)var1, var2);
}
class="kw">public ActionTimer(BuilderActionTimerContinue var1, @Nonnull BuilderSupport var2) {
this((BuilderActionTimer)var1, var2);
}
class="kw">public ActionTimer(BuilderActionTimerRestart var1, @Nonnull BuilderSupport var2) {
this((BuilderActionTimer)var1, var2);
}
@Override
class="kw">public boolean execute(
@Nonnull Ref<EntityStore> var1, @Nonnull ExecutionSupport var2, @Nullable InfoProvider var3, double var4, @Nonnull Store<EntityStore> var6
) {
super.execute(var1, var2, var3, var4, var6);
class="kw">switch (this.action) {
case START:
this.executeStartAction();
break;
case PAUSE:
this.executePauseAction();
break;
case STOP:
this.executeStopAction();
break;
case MODIFY:
this.executeModifyAction();
break;
case CONTINUE:
this.executeContinueAction();
break;
case RESTART:
this.executeRestartAction();
}
class="kw">return true;
}
class="kw">protected void executeRestartAction() {
if (this.timer.isInitialised()) {
this.timer.restart();
}
}
class="kw">protected void executeModifyAction() {
if (this.timer.isInitialised() && !this.timer.isStopped()) {
if (this.minRestartValue > 0.0) {
this.timer.setMinRestartValue(this.minRestartValue);
}
if (this.maxValue > 0.0) {
this.timer.setMaxValue(this.maxValue);
}
if (this.minStartValue > 0.0) {
this.timer.setValue(this.minStartValue);
}
if (this.increaseValue > 0.0) {
this.timer.addValue(this.increaseValue);
}
if (this.rate > 0.0) {
this.timer.setRate(this.rate);
}
if (this.modifyRepeating) {
this.timer.setRepeating(this.repeating);
}
}
}
class="kw">protected void executeContinueAction() {
if (this.timer.isInitialised()) {
this.timer.resume();
}
}
class="kw">protected void executePauseAction() {
if (this.timer.isInitialised()) {
this.timer.pause();
}
}
class="kw">protected void executeStopAction() {
if (this.timer.isInitialised()) {
this.timer.stop();
}
}
class="kw">protected void executeStartAction() {
if (!this.timer.isInitialised()) {
this.timer.start(this.minStartValue, this.maxStartValue, this.minRestartValue, this.maxValue, this.rate, this.repeating);
}
}
}