/// <summary> /// Sell building and add part of its cost to city /// </summary> /// <param name="targetPosition"></param> private void SellTurret(Vector3 targetPosition) { if (!(targetPosition == Vector3.zero)) { for (int i = 0; i < playerBuildings.Count; i++) { if (playerBuildings[i].transform.position == targetPosition) { IPlaceable <Building> buildingToSell = playerBuildings[i].GetComponent <IPlaceable <Building> >(); city.AddResource(buildingToSell.GetCost(), refundOnSell); buildingToSell.PrepareRemoval(); GameObject buildingToRemove = playerBuildings[i]; playerBuildings.Remove(buildingToRemove); Destroy(buildingToRemove.gameObject); break; } } } }
/// <summary> /// Removes a placeable from the map. /// </summary> /// <param name="placeable"> Placeable to remove </param> public void RemoveBuilding(IPlaceable <Building> placeable) { buildingsData.Remove(placeable); placeable.PrepareRemoval(); Destroy(placeable.GetObject()); }