SensorOr class

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

Файл: com/hypixel/hytale/server/npc/corecomponents/utility/SensorOr.java

extends: SensorMany

Поля (3)

МодификаторыТипИмя
DebugSupport var6
Sensor var7
var7

Методы (7)

МодификаторыВозвратСигнатура
abstract return new WrappedInfoProviderreturn new WrappedInfoProvider()
for for(Sensor var11 : this.sensors)
if if(this.autoUnlockTargetSlot >= 0)
if if(var7 == null)
if if(var7 == null)
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.BuilderSensorOr;
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 SensorOr class="kw">extends SensorMany {
   class="kw">public SensorOr(@Nonnull BuilderSensorOr 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.clearMatches();
      this.infoProvider.clearPositionMatch();
      DebugSupport var6 = var2.getDebugSupport();
      if (!super.matches(var1, var2, var3, var5)) {
         if (this.autoUnlockTargetSlot >= 0) {
            var2.getMarkedEntitySupport().clearMarkedEntity(this.autoUnlockTargetSlot);
         }

         if (var6.isTraceSensorFails()) {
            var6.setLastFailingSensor(this);
         }

         class="kw">return false;
      } else {
         Sensor var7 = null;
         if (super.matches(var1, var2, var3, var5)) {
            for (Sensor var11 : this.sensors) {
               if (var11.matches(var1, var2, var3, var5)) {
                  if (var7 == null) {
                     var7 = var11;
                  }

                  this.infoProvider.addMatch(var11);
                  if (!this.infoProvider.hasPosition() && var11.getSensorInfo() != null && var11.getSensorInfo().hasPosition()) {
                     this.infoProvider.setPositionMatch(var11.getSensorInfo().getPositionProvider());
                  }
               }
            }
         }

         if (var7 == null) {
            if (this.autoUnlockTargetSlot >= 0) {
               var2.getMarkedEntitySupport().clearMarkedEntity(this.autoUnlockTargetSlot);
            }

            if (var6.isTraceSensorFails()) {
               var6.setLastFailingSensor(this);
            }

            class="kw">return false;
         } else {
            class="kw">return true;
         }
      }
   }

   @Nonnull
   @Override
   class="kw">protected WrappedInfoProvider createInfoProvider() {
      class="kw">return new WrappedInfoProvider();
   }
}