This commit is contained in:
2023-10-27 20:38:55 -05:00
parent d7c7491746
commit c63c5e6896
3 changed files with 8 additions and 7 deletions
+3 -2
View File
@@ -892,7 +892,6 @@ public class Building extends AbstractWorldObject {
this.parentZone = ZoneManager.getZoneByUUID(this.parentZoneUUID);
this.parentZone.zoneBuildingSet.add(this);
this.updateNavMesh(); // update the navmesh of the parent zone
// Lookup building blueprint
@@ -1003,6 +1002,8 @@ public class Building extends AbstractWorldObject {
if (this.upgradeDateTime != null)
BuildingManager.submitUpgradeJob(this);
this.updateNavMesh(); // update the navmesh of the parent zone
}
public synchronized boolean setOwner(AbstractCharacter newOwner) {
@@ -1537,6 +1538,6 @@ public class Building extends AbstractWorldObject {
MeshBounds meshBounds = Bounds.meshBoundsCache.get(this.getMeshUUID());
if(meshBounds != null)
this.parentZone.navMesh.subtract(meshBounds.getArea());
this.parentZone.navMesh.subtract(meshBounds.getArea(this.loc.x,this.loc.z));
}
}
+3 -3
View File
@@ -47,10 +47,10 @@ public class MeshBounds {
Bounds.meshBoundsCache = DbManager.BuildingQueries.LOAD_MESH_BOUNDS();
}
public Area getArea(){
public Area getArea(float x, float z){
Polygon area = new Polygon();
area.addPoint((int) this.minX, (int) this.minZ);
area.addPoint((int) this.maxX, (int) this.maxZ);
area.addPoint((int)(x + this.minX), (int) (z + this.minZ));
area.addPoint((int)(x + this.maxX), (int)(z + this.maxZ));
return new Area(area);
}
}
+2 -2
View File
@@ -190,8 +190,8 @@ public class Zone extends AbstractWorldObject {
public void createNavMesh(){
Vector3fImmutable location = this.loc;
int xPoint = (int)(location.x - this.bounds.getHalfExtents().x);
int zPoint = (int) (location.z - this.bounds.getHalfExtents().y);
int xPoint = (int)(this.absX - this.bounds.getHalfExtents().x);
int zPoint = (int) (this.absZ - this.bounds.getHalfExtents().y);
int extentsX = (int) (this.bounds.getHalfExtents().x * 2);
int extentsZ = (int) (this.bounds.getHalfExtents().y * 2);