Fixed #10346
This commit is contained in:
@@ -343,7 +343,10 @@ public class ControlPathfinder implements Runnable{
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void updateTile(Tile tile){
|
public void updateTile(Tile tile){
|
||||||
tile.getLinkedTiles(t -> {
|
tile.getLinkedTiles(this::updateSingleTile);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void updateSingleTile(Tile t){
|
||||||
int x = t.x, y = t.y, mx = x % clusterSize, my = y % clusterSize, cx = x / clusterSize, cy = y / clusterSize, cluster = cx + cy * cwidth;
|
int x = t.x, y = t.y, mx = x % clusterSize, my = y % clusterSize, cx = x / clusterSize, cy = y / clusterSize, cluster = cx + cy * cwidth;
|
||||||
|
|
||||||
//is at the edge of a cluster; this means the portals may have changed.
|
//is at the edge of a cluster; this means the portals may have changed.
|
||||||
@@ -360,7 +363,6 @@ public class ControlPathfinder implements Runnable{
|
|||||||
//there is no need to recompute portals for block updates that are not on the edge.
|
//there is no need to recompute portals for block updates that are not on the edge.
|
||||||
queue.post(() -> clustersToInnerUpdate.add(cluster));
|
queue.post(() -> clustersToInnerUpdate.add(cluster));
|
||||||
}
|
}
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void queueClusterUpdate(int cx, int cy){
|
void queueClusterUpdate(int cx, int cy){
|
||||||
|
|||||||
@@ -293,6 +293,7 @@ public class Tile implements Position, QuadTreeObject, Displayable{
|
|||||||
if(build != null){
|
if(build != null){
|
||||||
build.onProximityUpdate();
|
build.onProximityUpdate();
|
||||||
}
|
}
|
||||||
|
pathfinder.updateTile(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean isEditorTile(){
|
public boolean isEditorTile(){
|
||||||
|
|||||||
Reference in New Issue
Block a user