TimerState enum

Пакет: com.hypixel.hytale.server.npc.util

Файл: com/hypixel/hytale/server/npc/util/Timer.java

implements: Supplier<String>

Поля (1)

МодификаторыТипИмя
private final String asText

Методы (3)

МодификаторыВозвратСигнатура
abstract ANY ANY("Any")
public String asTextpublic String asText()
public String getpublic String get()

Исходный код

Показать/скрыть
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;
      }
   }
}