dev command work

This commit is contained in:
2023-10-27 20:28:18 -05:00
parent 8cf1f1e60b
commit d7c7491746
4 changed files with 27 additions and 29 deletions
+10
View File
@@ -892,6 +892,7 @@ 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
@@ -1529,4 +1530,13 @@ public class Building extends AbstractWorldObject {
public void RemoveFromBarracksList() {
}
public void updateNavMesh(){
for(Regions region : this.getBounds().getRegions())
this.parentZone.navMesh.add(region.getArea());
MeshBounds meshBounds = Bounds.meshBoundsCache.get(this.getMeshUUID());
if(meshBounds != null)
this.parentZone.navMesh.subtract(meshBounds.getArea());
}
}
+5 -14
View File
@@ -16,7 +16,6 @@ import engine.db.archive.DataWarehouse;
import engine.gameManager.ZoneManager;
import engine.math.Bounds;
import engine.math.Vector2f;
import engine.math.Vector3f;
import engine.math.Vector3fImmutable;
import engine.net.ByteBufferWriter;
import engine.server.MBServerStatics;
@@ -185,26 +184,18 @@ public class Zone extends AbstractWorldObject {
ZoneManager.populateZoneCollections(this);
this.bakeNavMesh();
this.createNavMesh();
}
public void bakeNavMesh(){
int xPoint = (int)(this.loc.x - this.bounds.getHalfExtents().x);
int zPoint = (int) (this.loc.z - this.bounds.getHalfExtents().y);
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 extentsX = (int) (this.bounds.getHalfExtents().x * 2);
int extentsZ = (int) (this.bounds.getHalfExtents().y * 2);
this.navMesh = new Area(new Rectangle(xPoint, zPoint, extentsX, extentsZ));
for(Building building : this.zoneBuildingSet){
for(Regions region : building.getBounds().getRegions())
this.navMesh.add(region.getArea());
MeshBounds meshBounds = Bounds.meshBoundsCache.get(building.getMeshUUID());
if(meshBounds != null)
this.navMesh.subtract(meshBounds.getArea());
}
}
/* Method sets a default value for player cities
* otherwise using values derived from the loadnum