本文整理汇总了C++中Waypoint::CheckLink方法的典型用法代码示例。如果您正苦于以下问题:C++ Waypoint::CheckLink方法的具体用法?C++ Waypoint::CheckLink怎么用?C++ Waypoint::CheckLink使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Waypoint
的用法示例。
在下文中一共展示了Waypoint::CheckLink方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: GoTo
void NPC::GoTo(Vector3 destination)
{
path.clear();
Waypoint* currLocation = new Waypoint(position, Waypoint::sizeH, Waypoint::sizeV);
Waypoint* targetLocation = new Waypoint(destination, Waypoint::sizeH, Waypoint::sizeV);
currLocation->position.y = Waypoint::sizeV / 2;
targetLocation->position.y = Waypoint::sizeV / 2;
if (currLocation->CheckLink(*targetLocation)){//if there is a clear path between location and destination
path.push_back(targetLocation);
}
else{ //else follow Dijkstra
currLocation->LinkWaypoints();
targetLocation->LinkWaypoints();
for (vector<Waypoint*>::iterator it = (targetLocation->reachableWaypoints).begin(); it != (targetLocation->reachableWaypoints).end(); ++it){
(*it)->target = targetLocation;
}
path = Dijkstra(currLocation, targetLocation);
if (path.size() > 0){
path.pop_back(); // removes the last waypoint - it represents current position
}
}
checkPoint = path.rbegin();
}