shape
This commit is contained in:
@@ -20,6 +20,7 @@ import engine.jobs.UpgradeBuildingJob;
|
||||
import engine.math.Bounds;
|
||||
import engine.math.Vector2f;
|
||||
import engine.math.Vector3fImmutable;
|
||||
import engine.mobileAI.utilities.PathingUtilities;
|
||||
import engine.net.client.ClientConnection;
|
||||
import engine.net.client.msg.ErrorPopupMsg;
|
||||
import engine.net.client.msg.ManageCityAssetsMsg;
|
||||
@@ -998,6 +999,29 @@ public enum BuildingManager {
|
||||
meshBound.lineTo(rotatedStart.x,rotatedStart.z);
|
||||
meshBound.closePath();
|
||||
building.meshes.add(meshBound);
|
||||
building.parentZone.navObstacles.add(meshBound);
|
||||
}
|
||||
//add navNodes to parent zone list
|
||||
float X = building.getBounds().getHalfExtents().x;
|
||||
float Y = building.getBounds().getHalfExtents().y;
|
||||
ArrayList<Vector2f> cornersAndFaces = new ArrayList<>();
|
||||
cornersAndFaces.add(new Vector2f(building.loc.x - X,building.loc.z - Y));
|
||||
cornersAndFaces.add(new Vector2f(building.loc.x + X,building.loc.z + Y));
|
||||
cornersAndFaces.add(new Vector2f(building.loc.x + X,building.loc.z - Y));
|
||||
cornersAndFaces.add(new Vector2f(building.loc.x - X,building.loc.z + Y));
|
||||
cornersAndFaces.add(new Vector2f(building.loc.x - X,building.loc.z));
|
||||
cornersAndFaces.add(new Vector2f(building.loc.x + X,building.loc.z));
|
||||
cornersAndFaces.add(new Vector2f(building.loc.x,building.loc.z - Y));
|
||||
cornersAndFaces.add(new Vector2f(building.loc.x,building.loc.z + Y));
|
||||
for(Vector2f point : cornersAndFaces){
|
||||
if(!NavigationManager.pointIsBlocked(new Vector3fImmutable(point.x,building.loc.y,point.y))){
|
||||
building.parentZone.navNodes.add(new PathingUtilities.Node(point,null,building));
|
||||
}
|
||||
}
|
||||
|
||||
//add region centers to the zones navNodes list
|
||||
for(Regions region : building.getBounds().getRegions()){
|
||||
building.parentZone.navNodes.add(new PathingUtilities.Node(new Vector2f(region.center.x,region.center.z),region,building));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user