SensorAnd class
Пакет: com.hypixel.hytale.server.npc.corecomponents.utility
Файл: com/hypixel/hytale/server/npc/corecomponents/utility/SensorAnd.java
extends: SensorMany
Поля (2)
| Модификаторы | Тип | Имя |
|---|---|---|
|
DebugSupport |
var6 |
|
int |
var7 |
Методы (5)
| Модификаторы | Возврат | Сигнатура |
|---|---|---|
abstract |
return new |
WrappedInfoProviderreturn new WrappedInfoProvider(this.sensors) |
|
|
for for(Sensor var11 : this.sensors) |
|
|
if if(this.autoUnlockTargetSlot >= 0) |
|
|
if if(this.autoUnlockTargetSlot >= 0) |
abstract |
|
super super(var1, var2, var3) |
Исходный код
Показать/скрыть
class="kw">package com.hypixel.hytale.server.npc.corecomponents.utility;
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.utility.builders.BuilderSensorAnd;
class="kw">import com.hypixel.hytale.server.npc.instructions.ExecutionSupport;
class="kw">import com.hypixel.hytale.server.npc.instructions.Sensor;
class="kw">import com.hypixel.hytale.server.npc.role.support.DebugSupport;
class="kw">import com.hypixel.hytale.server.npc.sensorinfo.WrappedInfoProvider;
class="kw">import java.util.List;
class="kw">import javax.annotation.Nonnull;
class="kw">public class SensorAnd class="kw">extends SensorMany {
class="kw">public SensorAnd(@Nonnull BuilderSensorAnd var1, @Nonnull BuilderSupport var2, @Nonnull List<Sensor> var3) {
super(var1, var2, var3);
}
@Override
class="kw">public boolean matches(@Nonnull Ref<EntityStore> var1, @Nonnull ExecutionSupport var2, double var3, @Nonnull Store<EntityStore> var5) {
this.infoProvider.clearPositionMatch();
DebugSupport var6 = var2.getDebugSupport();
int var7 = this.sensors.length;
if (super.matches(var1, var2, var3, var5) && var7 != 0) {
for (Sensor var11 : this.sensors) {
if (!var11.matches(var1, var2, var3, var5)) {
if (this.autoUnlockTargetSlot >= 0) {
var2.getMarkedEntitySupport().clearMarkedEntity(this.autoUnlockTargetSlot);
}
this.infoProvider.clearPositionMatch();
if (var6.isTraceSensorFails()) {
var6.setLastFailingSensor(var11);
}
class="kw">return false;
}
if (!this.infoProvider.hasPosition() && var11.getSensorInfo() != null && var11.getSensorInfo().hasPosition()) {
this.infoProvider.setPositionMatch(var11.getSensorInfo().getPositionProvider());
}
}
class="kw">return true;
} else {
if (this.autoUnlockTargetSlot >= 0) {
var2.getMarkedEntitySupport().clearMarkedEntity(this.autoUnlockTargetSlot);
}
if (var6.isTraceSensorFails()) {
var6.setLastFailingSensor(this);
}
class="kw">return false;
}
}
@Nonnull
@Override
class="kw">protected WrappedInfoProvider createInfoProvider() {
class="kw">return new WrappedInfoProvider(this.sensors);
}
}