SensorNav class
Пакет: com.hypixel.hytale.server.npc.corecomponents.movement
Файл: com/hypixel/hytale/server/npc/corecomponents/movement/SensorNav.java
extends: SensorBase
Поля (3)
| Модификаторы | Тип | Имя |
|---|---|---|
final |
EnumSet<NavState> |
navStates |
|
double |
var3 |
|
MotionController |
var6 |
Методы (1)
| Модификаторы | Возврат | Сигнатура |
|---|---|---|
abstract |
|
super super(var1) |
Исходный код
Показать/скрыть
class="kw">package com.hypixel.hytale.server.npc.corecomponents.movement;
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.SensorBase;
class="kw">import com.hypixel.hytale.server.npc.corecomponents.movement.builders.BuilderSensorNav;
class="kw">import com.hypixel.hytale.server.npc.instructions.ExecutionSupport;
class="kw">import com.hypixel.hytale.server.npc.movement.NavState;
class="kw">import com.hypixel.hytale.server.npc.movement.controllers.MotionController;
class="kw">import com.hypixel.hytale.server.npc.sensorinfo.InfoProvider;
class="kw">import java.util.EnumSet;
class="kw">import javax.annotation.Nonnull;
class="kw">public class SensorNav class="kw">extends SensorBase {
class="kw">protected class="kw">final EnumSet<NavState> navStates;
class="kw">protected class="kw">final double throttleDuration;
class="kw">protected class="kw">final double targetDeltaSquared;
class="kw">public SensorNav(@Nonnull BuilderSensorNav var1, @Nonnull BuilderSupport var2) {
super(var1);
this.navStates = var1.getNavStates(var2);
this.throttleDuration = var1.getThrottleDuration(var2);
double var3 = var1.getTargetDelta(var2);
this.targetDeltaSquared = var3 * var3;
}
@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;
}
MotionController var6 = var2.getMotionContextSupport().getActiveMotionController();
class="kw">return (this.throttleDuration == 0.0 || var6.getThrottleDuration() >= this.throttleDuration)
&& (this.targetDeltaSquared == 0.0 || var6.getTargetDeltaSquared() >= this.targetDeltaSquared)
&& (this.navStates.isEmpty() || this.navStates.contains(var6.getNavState()));
}
@Override
class="kw">public InfoProvider getSensorInfo() {
class="kw">return null;
}
}