Java 类com.badlogic.gdx.ai.pfa.SmoothableGraphPath 实例源码
项目:gdx-ai
文件:InterruptibleHierarchicalTiledAStarTest.java
@Override
public boolean finalizeSearch (long timeToRun) {
if (statusChanged) {
if (PathFinderRequestControl.DEBUG)
System.out.println("MyPathFinderRequest.finalizeSearch[" + pathIndex
+ "]: statusChanged **********************************");
pathSmootherRequest.refresh(paths[pathIndex]);
smoothFinished = false;
if (pathFound) {
HierarchicalTiledNode l1Start = worldMap.convertNodeBetweenLevels(0, startNode, 1);
SmoothableGraphPath<HierarchicalTiledNode, Vector2> path = paths[pathIndex];
int nodeCount = path.getCount();
if (nodeCount > 0 && endNode != path.get(nodeCount - 1)) {
for (int i = 1; i < nodeCount; i++) {
if (worldMap.convertNodeBetweenLevels(0, path.get(i), 1) != l1Start) {
path.truncatePath(i + 1);
break;
}
}
}
}
}
if (pathFound) {
if (PathFinderRequestControl.DEBUG)
System.out.println("MyPathFinderRequest.finalizeSearch[" + pathIndex
+ "]: pathFound **********************************");
if (smooth && !smoothFinished) {
worldMap.setLevel(0);
smoothFinished = pathSmoother.smoothPath(pathSmootherRequest, timeToRun);
if (!smoothFinished) return false;
}
numPaths = pathIndex + 1;
}
return true;
}