SteeringForceRotate class

Пакет: com.hypixel.hytale.server.npc.movement.steeringforces

Файл: com/hypixel/hytale/server/npc/movement/steeringforces/SteeringForceRotate.java

implements: SteeringForce

Поля (3)

МодификаторыТипИмя
private float desiredHeading
float var2
TransformComponent var4

Методы (7)

МодификаторыВозвратСигнатура
public double getDesiredHeadingdouble getDesiredHeading()
public double getHeadingdouble getHeading()
public double getTolerancedouble getTolerance()
public void setDesiredHeadingvoid setDesiredHeading(float var1)
public void setHeadingvoid setHeading(float var1)
public void setHeadingvoid setHeading(Ref<EntityStore> var1, @Nonnull Entity var2, ComponentAccessor<EntityStore> var3)
public void setTolerancevoid setTolerance(double var1)

Исходный код

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

class="kw">import com.hypixel.hytale.component.ComponentAccessor;
class="kw">import com.hypixel.hytale.component.Ref;
class="kw">import com.hypixel.hytale.server.core.entity.Entity;
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.movement.Steering;
class="kw">import com.hypixel.hytale.server.npc.util.NPCPhysicsMath;
class="kw">import javax.annotation.Nonnull;

class="kw">public class SteeringForceRotate class="kw">implements SteeringForce {
   class="kw">private float desiredHeading;
   class="kw">private float heading;
   class="kw">private double tolerance = 0.05235988F;

   class="kw">public SteeringForceRotate() {
   }

   @Override
   class="kw">public boolean compute(@Nonnull Steering var1) {
      var1.clear();
      float var2 = NPCPhysicsMath.turnAngle(this.desiredHeading, this.heading);
      if (Math.abs(var2) >= this.tolerance) {
         var1.setYaw(this.desiredHeading);
         class="kw">return true;
      } else {
         class="kw">return false;
      }
   }

   class="kw">public void setDesiredHeading(float var1) {
      this.desiredHeading = var1;
   }

   class="kw">public void setHeading(float var1) {
      this.heading = var1;
   }

   class="kw">public void setHeading(Ref<EntityStore> var1, @Nonnull Entity var2, ComponentAccessor<EntityStore> var3) {
      TransformComponent var4 = var3.getComponent(var1, TransformComponent.getComponentType());
      assert var4 != null;
      this.heading = var4.getRotation().yaw();
   }

   class="kw">public void setTolerance(double var1) {
      this.tolerance = var1;
   }

   class="kw">public double getDesiredHeading() {
      class="kw">return this.desiredHeading;
   }

   class="kw">public double getHeading() {
      class="kw">return this.heading;
   }

   class="kw">public double getTolerance() {
      class="kw">return this.tolerance;
   }
}