From e6bac1c5b5193b9cc82556eb987930019cb2b626 Mon Sep 17 00:00:00 2001 From: Yair Morgenstern Date: Fri, 23 Jul 2021 14:00:22 +0300 Subject: [PATCH] Moved the stat-to-counter conversion forward to the CityInfo level --- core/src/com/unciv/logic/city/CityInfo.kt | 6 ++++-- .../com/unciv/logic/civilization/CivilizationInfo.kt | 11 ++++++----- .../unciv/logic/civilization/GreatPersonManager.kt | 4 ++-- .../com/unciv/ui/overviewscreen/StatsOverviewTable.kt | 3 ++- 4 files changed, 14 insertions(+), 10 deletions(-) diff --git a/core/src/com/unciv/logic/city/CityInfo.kt b/core/src/com/unciv/logic/city/CityInfo.kt index 7a5d8f311a..2be2f04c0c 100644 --- a/core/src/com/unciv/logic/city/CityInfo.kt +++ b/core/src/com/unciv/logic/city/CityInfo.kt @@ -2,10 +2,12 @@ package com.unciv.logic.city import com.badlogic.gdx.math.Vector2 import com.unciv.logic.civilization.CivilizationInfo +import com.unciv.logic.civilization.GreatPersonManager import com.unciv.logic.civilization.diplomacy.DiplomacyFlags import com.unciv.logic.map.RoadStatus import com.unciv.logic.map.TileInfo import com.unciv.logic.map.TileMap +import com.unciv.models.Counter import com.unciv.models.ruleset.Unique import com.unciv.models.ruleset.tile.ResourceSupplyList import com.unciv.models.ruleset.tile.ResourceType @@ -371,11 +373,11 @@ class CityInfo { return stats } - fun getGreatPersonPoints(): Stats { + fun getGreatPersonPoints(): Counter { val stats = Stats() for (entry in getGreatPersonPointsForNextTurn().values) stats.add(entry) - return stats + return GreatPersonManager.statsToGreatPersonCounter(stats) } internal fun getMaxHealth() = 200 + cityConstructions.getBuiltBuildings().sumBy { it.cityHealth } diff --git a/core/src/com/unciv/logic/civilization/CivilizationInfo.kt b/core/src/com/unciv/logic/civilization/CivilizationInfo.kt index a042bac3e5..05a0bded76 100644 --- a/core/src/com/unciv/logic/civilization/CivilizationInfo.kt +++ b/core/src/com/unciv/logic/civilization/CivilizationInfo.kt @@ -14,6 +14,7 @@ import com.unciv.logic.map.MapUnit import com.unciv.logic.map.TileInfo import com.unciv.logic.trade.TradeEvaluation import com.unciv.logic.trade.TradeRequest +import com.unciv.models.Counter import com.unciv.models.metadata.GameSpeed import com.unciv.models.ruleset.* import com.unciv.models.ruleset.tile.ResourceSupplyList @@ -649,10 +650,10 @@ class CivilizationInfo { } } - fun getGreatPersonPointsForNextTurn(): Stats { - val stats = Stats() - for (city in cities) stats.add(city.getGreatPersonPoints()) - return stats + fun getGreatPersonPointsForNextTurn(): Counter { + val greatPersonPoints = Counter() + for (city in cities) greatPersonPoints.add(city.getGreatPersonPoints()) + return greatPersonPoints } fun canEnterTiles(otherCiv: CivilizationInfo): Boolean { @@ -692,7 +693,7 @@ class CivilizationInfo { return placedUnit } - /** Tries to place the a [unitName] unit into the [TileInfo] closest to the given the [position] + /** Tries to place the a [unitName] unit into the [TileInfo] closest to the given the [location] * @param location where to try to place the unit * @param unitName name of the [BaseUnit] to create and place * @return created [MapUnit] or null if no suitable location was found diff --git a/core/src/com/unciv/logic/civilization/GreatPersonManager.kt b/core/src/com/unciv/logic/civilization/GreatPersonManager.kt index 13ab4c9ae0..934503265b 100644 --- a/core/src/com/unciv/logic/civilization/GreatPersonManager.kt +++ b/core/src/com/unciv/logic/civilization/GreatPersonManager.kt @@ -69,8 +69,8 @@ class GreatPersonManager { return greatPerson } - fun addGreatPersonPoints(greatPersonPointsForTurn: Stats) { - greatPersonPointsCounter.add(statsToGreatPersonCounter(greatPersonPointsForTurn)) + fun addGreatPersonPoints(greatPersonPointsForTurn: Counter) { + greatPersonPointsCounter.add(greatPersonPointsForTurn) } diff --git a/core/src/com/unciv/ui/overviewscreen/StatsOverviewTable.kt b/core/src/com/unciv/ui/overviewscreen/StatsOverviewTable.kt index 688b160842..42b6256876 100644 --- a/core/src/com/unciv/ui/overviewscreen/StatsOverviewTable.kt +++ b/core/src/com/unciv/ui/overviewscreen/StatsOverviewTable.kt @@ -108,7 +108,8 @@ class StatsOverviewTable ( val greatPersonPoints = GreatPersonManager .greatPersonCounterToStats(viewingPlayer.greatPeople.greatPersonPointsCounter) .toHashMap() - val greatPersonPointsPerTurn = viewingPlayer.getGreatPersonPointsForNextTurn().toHashMap() + val greatPersonPointsPerTurn = GreatPersonManager + .greatPersonCounterToStats(viewingPlayer.getGreatPersonPointsForNextTurn()).toHashMap() val pointsToGreatPerson = viewingPlayer.greatPeople.pointsForNextGreatPerson greatPeopleTable.defaults().pad(5f)