SensorAlarm class

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

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

extends: SensorBase

Поля (5)

МодификаторыТипИмя
final Alarm alarm
private final String asText
WorldTimeResource var6
boolean var7
WorldTimeResource var8

Методы (7)

МодификаторыВозвратСигнатура
abstract PASSED PASSED("Passed")
State State(String nullxx)
public String asTextpublic String asText()
public String getpublic String get()
if if(var7 && this.clear)
abstract super super(var1)
switch switch(this.state)

Исходный код

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