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