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