AStarWithTarget class

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

Файл: com/hypixel/hytale/server/npc/navigation/AStarWithTarget.java

extends: AStarBase

Поля (2)

МодификаторыТипИмя
AStarNode var1
AStarBase.Progress var9

Методы (6)

МодификаторыВозвратСигнатура
abstract return new AStarDebugWithTargetreturn new AStarDebugWithTarget(this, var1)
public float findClosestPathfloat findClosestPath()
public long getTargetPositionIndexlong getTargetPositionIndex()
if if(this.path != null)
if if(var1 == null)
public AStarBase.Progress initComputePathAStarBase.Progress initComputePath(@Nonnull Ref<EntityStore> var1, @Nonnull Vector3d var2, @Nonnull Vector3d var3, AStarEvaluator var4, @Nonnull MotionController var5, @Nonnull ProbeMoveData var6, @Nonnull AStarNodePoolProvider var7, @Nonnull ComponentAccessor<EntityStore> var8)

Исходный код

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

class="kw">import com.hypixel.hytale.component.ComponentAccessor;
class="kw">import com.hypixel.hytale.component.Ref;
class="kw">import com.hypixel.hytale.logger.HytaleLogger;
class="kw">import com.hypixel.hytale.server.core.universe.world.storage.EntityStore;
class="kw">import com.hypixel.hytale.server.npc.movement.controllers.MotionController;
class="kw">import com.hypixel.hytale.server.npc.movement.controllers.ProbeMoveData;
class="kw">import javax.annotation.Nonnull;
class="kw">import org.joml.Vector3d;

class="kw">public class AStarWithTarget class="kw">extends AStarBase {
   @Nonnull
   class="kw">protected Vector3d targetPosition = new Vector3d();
   class="kw">protected long targetPositionIndex;

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

   @Nonnull
   class="kw">public Vector3d getTargetPosition() {
      class="kw">return this.targetPosition;
   }

   class="kw">public long getTargetPositionIndex() {
      class="kw">return this.targetPositionIndex;
   }

   @Nonnull
   class="kw">public AStarDebugWithTarget createDebugHelper(@Nonnull HytaleLogger var1) {
      class="kw">return new AStarDebugWithTarget(this, var1);
   }

   class="kw">public AStarBase.Progress initComputePath(
      @Nonnull Ref<EntityStore> var1,
      @Nonnull Vector3d var2,
      @Nonnull Vector3d var3,
      AStarEvaluator var4,
      @Nonnull MotionController var5,
      @Nonnull ProbeMoveData var6,
      @Nonnull AStarNodePoolProvider var7,
      @Nonnull ComponentAccessor<EntityStore> var8
   ) {
      AStarBase.Progress var9 = super.initComputePath(var1, var2, var4, var5, var6, var7, var8);
      this.targetPosition.set(var3);
      this.targetPositionIndex = this.positionToIndex(this.targetPosition);
      class="kw">return var9;
   }

   class="kw">public float findClosestPath() {
      if (this.path != null) {
         class="kw">return Float.MAX_VALUE;
      } else {
         AStarNode var1 = this.findBestVisitedNode(AStarNode::getEstimateToGoal, (var0, var1x) -> var1x < var0, Float.MAX_VALUE);
         if (var1 == null) {
            class="kw">return Float.MAX_VALUE;
         } else {
            class="kw">return this.buildPath(var1) ? var1.getEstimateToGoal() : Float.MAX_VALUE;
         }
      }
   }
}