EntityFilterViewSector class

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

Файл: com/hypixel/hytale/server/npc/corecomponents/entity/filters/EntityFilterViewSector.java

extends: EntityFilterBase

Поля (6)

МодификаторыТипИмя
final int COST
TransformComponent var5
Vector3d var6
HeadRotation var7
TransformComponent var8
Vector3d var9

Методы (2)

МодификаторыВозвратСигнатура
public float getViewAnglefloat getViewAngle()
if if(this.viewCone == 0.0F)

Исходный код

Показать/скрыть
class="kw">package com.hypixel.hytale.server.npc.corecomponents.entity.filters;

class="kw">import com.hypixel.hytale.component.ComponentType;
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.entity.component.HeadRotation;
class="kw">import com.hypixel.hytale.server.core.modules.entity.component.TransformComponent;
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.EntityFilterBase;
class="kw">import com.hypixel.hytale.server.npc.corecomponents.entity.filters.builders.BuilderEntityFilterViewSector;
class="kw">import com.hypixel.hytale.server.npc.instructions.ExecutionSupport;
class="kw">import com.hypixel.hytale.server.npc.util.NPCPhysicsMath;
class="kw">import javax.annotation.Nonnull;
class="kw">import org.joml.Vector3d;

class="kw">public class EntityFilterViewSector class="kw">extends EntityFilterBase {
   class="kw">public class="kw">static class="kw">final int COST = 300;
   class="kw">protected class="kw">static class="kw">final ComponentType<EntityStore, TransformComponent> TRANSFORM_COMPONENT_TYPE = TransformComponent.getComponentType();
   class="kw">protected class="kw">final float viewCone;

   class="kw">public EntityFilterViewSector(@Nonnull BuilderEntityFilterViewSector var1, @Nonnull BuilderSupport var2) {
      this.viewCone = var1.getViewSectorRadians(var2);
   }

   @Override
   class="kw">public boolean matchesEntity(
      @Nonnull Ref<EntityStore> var1, @Nonnull Ref<EntityStore> var2, @Nonnull ExecutionSupport var3, @Nonnull Store<EntityStore> var4
   ) {
      if (this.viewCone == 0.0F) {
         class="kw">return true;
      }

      TransformComponent var5 = var4.getComponent(var1, TRANSFORM_COMPONENT_TYPE);
      assert var5 != null;
      Vector3d var6 = var5.getPosition();
      HeadRotation var7 = var4.getComponent(var1, HeadRotation.getComponentType());
      assert var7 != null;
      TransformComponent var8 = var4.getComponent(var2, TRANSFORM_COMPONENT_TYPE);
      assert var8 != null;
      Vector3d var9 = var8.getPosition();
      class="kw">return NPCPhysicsMath.inViewSector(var6.x(), var6.z(), var7.getRotation().yaw(), this.viewCone, var9.x(), var9.z());
   }

   @Override
   class="kw">public int cost() {
      class="kw">return 300;
   }

   class="kw">public float getViewAngle() {
      class="kw">return this.viewCone;
   }
}