From 093ee0e3a9c9bae72c825076f75bfcdf8c10d8d8 Mon Sep 17 00:00:00 2001 From: Yair Morgenstern Date: Thu, 26 Mar 2020 10:43:27 +0200 Subject: [PATCH] City stats and resources updates after creating great improvement --- core/src/com/unciv/logic/city/CityInfo.kt | 4 +--- .../com/unciv/ui/worldscreen/unit/UnitActions.kt | 14 ++++++++++---- 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/core/src/com/unciv/logic/city/CityInfo.kt b/core/src/com/unciv/logic/city/CityInfo.kt index a87c19aab7..0300ff476e 100644 --- a/core/src/com/unciv/logic/city/CityInfo.kt +++ b/core/src/com/unciv/logic/city/CityInfo.kt @@ -145,9 +145,7 @@ class CityInfo { for (tileInfo in getTiles().filter { it.resource != null }) { val resource = tileInfo.getTileResource() val amount = getTileResourceAmount(tileInfo) - if (amount > 0) { - cityResources.add(resource, amount, "Tiles") - } + if (amount > 0) cityResources.add(resource, amount, "Tiles") } for (building in cityConstructions.getBuiltBuildings().filter { it.requiredResource != null }) { diff --git a/core/src/com/unciv/ui/worldscreen/unit/UnitActions.kt b/core/src/com/unciv/ui/worldscreen/unit/UnitActions.kt index a0792b8e70..3ef970b7e2 100644 --- a/core/src/com/unciv/ui/worldscreen/unit/UnitActions.kt +++ b/core/src/com/unciv/ui/worldscreen/unit/UnitActions.kt @@ -344,10 +344,16 @@ object UnitActions { title = "Create [$improvementName]", uncivSound = UncivSound.Chimes, action = { - unit.getTile().terrainFeature = null // remove forest/jungle/marsh - unit.getTile().improvement = improvementName - unit.getTile().improvementInProgress = null - unit.getTile().turnsToImprovement = 0 + val unitTile = unit.getTile() + unitTile.terrainFeature = null // remove forest/jungle/marsh + unitTile.improvement = improvementName + unitTile.improvementInProgress = null + unitTile.turnsToImprovement = 0 + val city = unitTile.getCity() + if (city != null) { + city.cityStats.update() + city.civInfo.updateDetailedCivResources() + } unit.destroy() }.takeIf { unit.currentMovement > 0f && !tile.isWater && !tile.isCityCenter() && !tile.getLastTerrain().impassable }) }