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