Class AstarPathFinder
java.lang.Object
cn.lanink.gamecore.pathfinder.astar.AstarPathFinder
- All Implemented Interfaces:
PathFinder
- Author:
- iGxnon https://github.com/iGxnon/SquarePet/blob/main/src/main/java/xyz/lightsky/squarepet/pet/pathfinder/astar/AstarPathfinder.java
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final booleanprotected AtomicIntegerstatic final doublestatic final intprivate booleanprivate booleanprivate doubleprivate AstarNodeprivate List<cn.nukkit.math.Vector3>private final cn.nukkit.level.Positionprivate final cn.nukkit.level.Positionprivate final long -
Constructor Summary
ConstructorsConstructorDescriptionAstarPathFinder(cn.nukkit.level.Position start, cn.nukkit.level.Position target) AstarPathFinder(cn.nukkit.level.Position start, cn.nukkit.level.Position target, int timeLimit) AstarPathFinder(cn.nukkit.level.Position start, cn.nukkit.level.Position target, long timeLimit, double power) AstarPathFinder(cn.nukkit.level.Position start, cn.nukkit.level.Position target, long timeLimit, double power, boolean asyncWork) -
Method Summary
-
Field Details
-
DEFAULT_TIME_LIMIT
public static final int DEFAULT_TIME_LIMIT- See Also:
-
DEFAULT_POWER
public static final double DEFAULT_POWER- See Also:
-
open
-
close
-
start
private final cn.nukkit.level.Position start -
target
private final cn.nukkit.level.Position target -
timeLimit
private final long timeLimit -
power
private double power -
asyncWork
private final boolean asyncWork -
isFinished
private boolean isFinished -
isSearching
private boolean isSearching -
result
-
resultList
-
resultNodeList
-
currentNode
-
-
Constructor Details
-
AstarPathFinder
public AstarPathFinder(cn.nukkit.level.Position start, cn.nukkit.level.Position target) -
AstarPathFinder
public AstarPathFinder(cn.nukkit.level.Position start, cn.nukkit.level.Position target, int timeLimit) -
AstarPathFinder
public AstarPathFinder(cn.nukkit.level.Position start, cn.nukkit.level.Position target, long timeLimit, double power) -
AstarPathFinder
public AstarPathFinder(cn.nukkit.level.Position start, cn.nukkit.level.Position target, long timeLimit, double power, boolean asyncWork)
-
-
Method Details
-
setPower
public void setPower(double power) -
findNext
public cn.nukkit.math.Vector3 findNext()- Specified by:
findNextin interfacePathFinder- Returns:
- 返回下一个路径节点 | 没有路径返回 null
-
find
Deprecated.- Specified by:
findin interfacePathFinder- Parameters:
async- 是否异步
-
find
- Specified by:
findin interfacePathFinder- Returns:
- 返回所有路径节点
-
findRoute
private void findRoute() -
show
public void show()Description copied from interface:PathFinder展示路径 用于测试- Specified by:
showin interfacePathFinder
-
getResultNode
- Specified by:
getResultNodein interfacePathFinder- Returns:
- 获取结果
-
getResult
- Specified by:
getResultin interfacePathFinder- Returns:
- 返回所有路径节点
-
getMinFNode
- Parameters:
power-- Returns:
- 获取 openList中最小 F值的节点
-