Warehouse record needs cleanup

This commit is contained in:
2026-07-25 19:07:30 -04:00
parent d624dd25dd
commit 4a217d1a6b
@@ -2,6 +2,7 @@ package engine.net.client.handlers;
import engine.InterestManagement.WorldGrid;
import engine.gameManager.BuildingManager;
import engine.gameManager.DbManager;
import engine.mbEnums;
import engine.mbEnums.BuildingGroup;
import engine.net.client.ClientConnection;
@@ -35,7 +36,7 @@ public class DestroyBuildingHandler extends AbstractClientMsgHandler {
int buildingUUID = msg.getUUID();
Building building = BuildingManager.getBuildingFromCache(buildingUUID);
;
if (pc == null || building == null)
return true;
@@ -85,20 +86,28 @@ public class DestroyBuildingHandler extends AbstractClientMsgHandler {
return true;
// Turn off spire if destoying
// Turn off spire if destroying
if (blueprint.getBuildingGroup() == BuildingGroup.SPIRE)
building.disableSpire(true);
// Warehouse requires some cleanup
if (blueprint.getBuildingGroup() == BuildingGroup.WAREHOUSE) {
if (city != null)
city.warehouse = null;
if (city == null)
return true;
DbManager.WarehouseQueries.DELETE_WAREHOUSE(city.warehouse);
city.warehouse = null;
}
BuildingManager.setRank(building, -1);
WorldGrid.RemoveWorldObject(building);
WorldGrid.removeObject(building);
building.getParentZone().zoneBuildingSet.remove(building);
if (building.getBlueprint() != null && building.getBlueprint().getBuildingGroup().equals(BuildingGroup.BARRACK)) {
building.RemoveFromBarracksList();
}