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.InterestManagement.WorldGrid;
import engine.gameManager.BuildingManager; import engine.gameManager.BuildingManager;
import engine.gameManager.DbManager;
import engine.mbEnums; import engine.mbEnums;
import engine.mbEnums.BuildingGroup; import engine.mbEnums.BuildingGroup;
import engine.net.client.ClientConnection; import engine.net.client.ClientConnection;
@@ -35,7 +36,7 @@ public class DestroyBuildingHandler extends AbstractClientMsgHandler {
int buildingUUID = msg.getUUID(); int buildingUUID = msg.getUUID();
Building building = BuildingManager.getBuildingFromCache(buildingUUID); Building building = BuildingManager.getBuildingFromCache(buildingUUID);
;
if (pc == null || building == null) if (pc == null || building == null)
return true; return true;
@@ -85,20 +86,28 @@ public class DestroyBuildingHandler extends AbstractClientMsgHandler {
return true; return true;
// Turn off spire if destoying // Turn off spire if destroying
if (blueprint.getBuildingGroup() == BuildingGroup.SPIRE) if (blueprint.getBuildingGroup() == BuildingGroup.SPIRE)
building.disableSpire(true); building.disableSpire(true);
// Warehouse requires some cleanup
if (blueprint.getBuildingGroup() == BuildingGroup.WAREHOUSE) { if (blueprint.getBuildingGroup() == BuildingGroup.WAREHOUSE) {
if (city != null) if (city == null)
city.warehouse = null; return true;
DbManager.WarehouseQueries.DELETE_WAREHOUSE(city.warehouse);
city.warehouse = null;
} }
BuildingManager.setRank(building, -1); BuildingManager.setRank(building, -1);
WorldGrid.RemoveWorldObject(building); WorldGrid.RemoveWorldObject(building);
WorldGrid.removeObject(building); WorldGrid.removeObject(building);
building.getParentZone().zoneBuildingSet.remove(building); building.getParentZone().zoneBuildingSet.remove(building);
if (building.getBlueprint() != null && building.getBlueprint().getBuildingGroup().equals(BuildingGroup.BARRACK)) { if (building.getBlueprint() != null && building.getBlueprint().getBuildingGroup().equals(BuildingGroup.BARRACK)) {
building.RemoveFromBarracksList(); building.RemoveFromBarracksList();
} }