fix list updating exception
This commit is contained in:
parent
c0c0e81327
commit
e303ac4a03
@ -128,15 +128,19 @@ public class NavMeshUtils {
|
||||
// );
|
||||
toRemove.clear();
|
||||
//TODO: iterate this backwards and check for x adjacency, if no adjacency end loop early
|
||||
List<SecondPhaseBox> neighborUpdateList = new LinkedList<SecondPhaseBox>();
|
||||
for(SecondPhaseBox interim : secondPhaseBoxes){
|
||||
if(firstPhaseBox.yStart == interim.boundMinY && firstPhaseBox.yEnd == interim.boundMaxY && firstPhaseBox.x == interim.boundMaxX){
|
||||
for(SecondPhaseBox neighbor : interim.getNeighbors()){
|
||||
neighbor.removeNeighbor(interim);
|
||||
interim.removeNeighbor(neighbor);
|
||||
neighbor.addNeighbor(newBox);
|
||||
newBox.addNeighbor(neighbor);
|
||||
neighborUpdateList.add(neighbor);
|
||||
// System.out.println("ADD NEIGHBOR: " + neighbor.boundMaxX + " " + neighbor.boundMaxY + " " + neighbor.boundMinX + " " + neighbor.boundMinY);
|
||||
}
|
||||
for(SecondPhaseBox update : neighborUpdateList){
|
||||
update.removeNeighbor(interim);
|
||||
interim.removeNeighbor(update);
|
||||
update.addNeighbor(newBox);
|
||||
newBox.addNeighbor(update);
|
||||
}
|
||||
toRemove.add(interim);
|
||||
newBox.setBoundMinX(interim.getBoundMinX());
|
||||
//TODO: calculate new min/max height
|
||||
|
||||
Loading…
Reference in New Issue
Block a user