State enum

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

Файл: com/hypixel/hytale/server/npc/corecomponents/timer/SensorAlarm.java

implements: Supplier<String>

Поля (1)

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

Методы (3)

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

Исходный код

Показать/скрыть
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.modules.time.WorldTimeResource;
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.SensorBase;
class="kw">import com.hypixel.hytale.server.npc.corecomponents.timer.builders.BuilderSensorAlarm;
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.Alarm;
class="kw">import java.util.function.Supplier;
class="kw">import javax.annotation.Nonnull;

class="kw">public class SensorAlarm class="kw">extends SensorBase {
   class="kw">protected class="kw">final Alarm alarm;
   class="kw">protected class="kw">final SensorAlarm.State state;
   class="kw">protected class="kw">final boolean clear;

   class="kw">public SensorAlarm(@Nonnull BuilderSensorAlarm var1, @Nonnull BuilderSupport var2) {
      super(var1);
      this.alarm = var1.getAlarm(var2);
      this.state = var1.getState(var2);
      this.clear = var1.isClear(var2);
   }

   @Override
   class="kw">public boolean matches(@Nonnull Ref<EntityStore> var1, @Nonnull ExecutionSupport var2, double var3, @Nonnull Store<EntityStore> var5) {
      if (!super.matches(var1, var2, var3, var5)) {
         class="kw">return false;
      }

      class="kw">switch (this.state) {
         case SET:
            WorldTimeResource var8 = var5.getResource(WorldTimeResource.getResourceType());
            class="kw">return this.alarm.isSet() && !this.alarm.hasPassed(var8.getGameTime());
         case UNSET:
            class="kw">return !this.alarm.isSet();
         case PASSED:
            WorldTimeResource var6 = var5.getResource(WorldTimeResource.getResourceType());
            boolean var7 = this.alarm.hasPassed(var6.getGameTime());
            if (var7 && this.clear) {
               this.alarm.set(var1, null, var5);
            }

            class="kw">return var7;
         class="kw">default:
            class="kw">return false;
      }
   }

   @Override
   class="kw">public InfoProvider getSensorInfo() {
      class="kw">return null;
   }

   class="kw">public enum State class="kw">implements Supplier<String> {
      SET("Set"),
      UNSET("Not set"),
      PASSED("Passed");

      class="kw">private class="kw">final String asText;

      State(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;
      }
   }
}