public class AstarPathFinder extends Object implements PathFinder
| Modifier and Type | Field and Description |
|---|---|
private boolean |
asyncWork |
private HashSet<AstarNode> |
close |
protected AtomicInteger |
currentNode |
static double |
DEFAULT_POWER |
static int |
DEFAULT_TIME_LIMIT |
private boolean |
isFinished |
private boolean |
isSearching |
private HashMap<cn.nukkit.block.Block,AstarNode> |
open |
private double |
power |
private AstarNode |
result |
private List<cn.nukkit.math.Vector3> |
resultList |
private List<AstarNode> |
resultNodeList |
private cn.nukkit.level.Position |
start |
private cn.nukkit.level.Position |
target |
private long |
timeLimit |
| Constructor and Description |
|---|
AstarPathFinder(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) |
| Modifier and Type | Method and Description |
|---|---|
List<cn.nukkit.math.Vector3> |
find() |
void |
find(boolean async)
Deprecated.
|
cn.nukkit.math.Vector3 |
findNext() |
private void |
findRoute() |
private AstarNode |
getMinFNode(double power) |
List<cn.nukkit.math.Vector3> |
getResult() |
List<AstarNode> |
getResultNode() |
void |
setPower(double power) |
void |
show()
展示路径 用于测试
|
public static final int DEFAULT_TIME_LIMIT
public static final double DEFAULT_POWER
private final cn.nukkit.level.Position start
private final cn.nukkit.level.Position target
private final long timeLimit
private double power
private final boolean asyncWork
private boolean isFinished
private boolean isSearching
private AstarNode result
private List<cn.nukkit.math.Vector3> resultList
protected AtomicInteger currentNode
public AstarPathFinder(cn.nukkit.level.Position start,
cn.nukkit.level.Position target)
public AstarPathFinder(cn.nukkit.level.Position start,
cn.nukkit.level.Position target,
int timeLimit)
public AstarPathFinder(cn.nukkit.level.Position start,
cn.nukkit.level.Position target,
long timeLimit,
double power)
public AstarPathFinder(cn.nukkit.level.Position start,
cn.nukkit.level.Position target,
long timeLimit,
double power,
boolean asyncWork)
public void setPower(double power)
public cn.nukkit.math.Vector3 findNext()
findNext in interface PathFinder@Deprecated public void find(boolean async)
find in interface PathFinderasync - 是否异步public List<cn.nukkit.math.Vector3> find()
find in interface PathFinderprivate void findRoute()
public void show()
PathFindershow in interface PathFinderpublic List<AstarNode> getResultNode()
getResultNode in interface PathFinderpublic List<cn.nukkit.math.Vector3> getResult()
getResult in interface PathFinderprivate AstarNode getMinFNode(double power)
power - Copyright © 2023. All rights reserved.