Warehouse record needs cleanup
This commit is contained in:
@@ -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();
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user