|
|
|
@ -437,6 +437,21 @@ public enum ZoneManager {
@@ -437,6 +437,21 @@ public enum ZoneManager {
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public static void LinkNavNodes(){ |
|
|
|
|
//TODO link nav nodes
|
|
|
|
|
//TODO optimize
|
|
|
|
|
for(Zone zone : getAllZones()){ |
|
|
|
|
for(PathingUtilities.Node node : zone.navNodes){ |
|
|
|
|
for(PathingUtilities.Node potentialNeighbor : zone.navNodes){ |
|
|
|
|
try { |
|
|
|
|
for (Path2D.Float obstacle : zone.navObstacles) { |
|
|
|
|
if (!node.equals(potentialNeighbor) && !obstacle.intersects(node.location.x, node.location.y, potentialNeighbor.location.x, potentialNeighbor.location.y) && node.location.distance(potentialNeighbor.location) < 50) { |
|
|
|
|
node.neighbors.add(potentialNeighbor); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} catch(Exception e){ |
|
|
|
|
Logger.error("Failed To Check Neighbors Of Node In Zone: " + zone.getObjectUUID()); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|