forked from MagicBane/Server
work
This commit is contained in:
@@ -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));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user