//abort placing the building: private void Cancel() { //Call the stop building placement custom event: CustomEvents.OnBuildingStopPlacement(currentBuilding); //abort the building process Destroy(currentBuilding.gameObject); currentBuilding = null; }
/// <summary> /// Stops placing the current pending building that's getting placed. /// </summary> private void StopPlacingBuilding() { if (currPendingBuilding.instance != null) //valid building instance: { //Call the stop building placement custom event: CustomEvents.OnBuildingStopPlacement(currPendingBuilding.instance); //Give back resources: gameMgr.ResourceMgr.UpdateRequiredResources(currPendingBuilding.instance.GetResources(), true, factionMgr.FactionID); //destroy the building instance that was supposed to be placed: Destroy(currPendingBuilding.instance.gameObject); } Deactivate(); //component is no longer active StartPlacingNextBuilding(); //start placing next building, if it exists. }
//a method that stops placing a building void StopPlacingBuilding() { if (pendingBuildings[0].buildingInstance != null) //valid building instance: { //Call the stop building placement custom event: CustomEvents.OnBuildingStopPlacement(pendingBuildings[0].buildingInstance); //Give back resources: gameMgr.ResourceMgr.UpdateRequiredResources(pendingBuildings[0].buildingInstance.GetResources(), true, factionMgr.FactionID); //destroy the building instance that was supposed to be placed: Destroy(pendingBuildings[0].buildingInstance.gameObject); } //remove the first item in pending buildings list: pendingBuildings.RemoveAt(0); StartPlacingNextBuilding(); //start placing next building. }