mirror of
https://github.com/yairm210/Unciv.git
synced 2025-07-06 16:28:40 +07:00
Summarized civ resources, which were getting accessed all the time, are now cached and updated together with the detailed civ resources. (#6093)
This commit is contained in:
@ -164,7 +164,7 @@ class CivInfoTransientUpdater(val civInfo: CivilizationInfo) {
|
|||||||
civInfo.citiesConnectedToCapitalToMediums = citiesReachedToMediums
|
civInfo.citiesConnectedToCapitalToMediums = citiesReachedToMediums
|
||||||
}
|
}
|
||||||
|
|
||||||
fun updateDetailedCivResources() {
|
fun updateCivResources() {
|
||||||
val newDetailedCivResources = ResourceSupplyList()
|
val newDetailedCivResources = ResourceSupplyList()
|
||||||
for (city in civInfo.cities) newDetailedCivResources.add(city.getCityResources())
|
for (city in civInfo.cities) newDetailedCivResources.add(city.getCityResources())
|
||||||
|
|
||||||
@ -192,6 +192,13 @@ class CivInfoTransientUpdater(val civInfo: CivilizationInfo) {
|
|||||||
for ((resource, amount) in unit.baseUnit.getResourceRequirements())
|
for ((resource, amount) in unit.baseUnit.getResourceRequirements())
|
||||||
newDetailedCivResources.add(civInfo.gameInfo.ruleSet.tileResources[resource]!!, -amount, "Units")
|
newDetailedCivResources.add(civInfo.gameInfo.ruleSet.tileResources[resource]!!, -amount, "Units")
|
||||||
civInfo.detailedCivResources = newDetailedCivResources
|
civInfo.detailedCivResources = newDetailedCivResources
|
||||||
|
|
||||||
|
val newSummarizedCivResources = ResourceSupplyList()
|
||||||
|
for (resourceSupply in newDetailedCivResources) {
|
||||||
|
newSummarizedCivResources.add(resourceSupply.resource, resourceSupply.amount, "All")
|
||||||
|
}
|
||||||
|
civInfo.summarizedCivResources = newSummarizedCivResources
|
||||||
|
|
||||||
civInfo.updateStatsForNextTurn() // More or less resources = more or less happiness, with potential domino effects
|
civInfo.updateStatsForNextTurn() // More or less resources = more or less happiness, with potential domino effects
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -97,6 +97,9 @@ class CivilizationInfo {
|
|||||||
@Transient
|
@Transient
|
||||||
var detailedCivResources = ResourceSupplyList()
|
var detailedCivResources = ResourceSupplyList()
|
||||||
|
|
||||||
|
@Transient
|
||||||
|
var summarizedCivResources = ResourceSupplyList()
|
||||||
|
|
||||||
@Transient
|
@Transient
|
||||||
val cityStateFunctions = CityStateFunctions(this)
|
val cityStateFunctions = CityStateFunctions(this)
|
||||||
|
|
||||||
@ -324,13 +327,7 @@ class CivilizationInfo {
|
|||||||
fun getHappiness() = happinessForNextTurn
|
fun getHappiness() = happinessForNextTurn
|
||||||
|
|
||||||
|
|
||||||
fun getCivResources(): ResourceSupplyList {
|
fun getCivResources(): ResourceSupplyList = summarizedCivResources
|
||||||
val newResourceSupplyList = ResourceSupplyList()
|
|
||||||
for (resourceSupply in detailedCivResources) {
|
|
||||||
newResourceSupplyList.add(resourceSupply.resource, resourceSupply.amount, "All")
|
|
||||||
}
|
|
||||||
return newResourceSupplyList
|
|
||||||
}
|
|
||||||
|
|
||||||
// Preserves some origins for resources so we can separate them for trades
|
// Preserves some origins for resources so we can separate them for trades
|
||||||
fun getCivResourcesWithOriginsForTrade(): ResourceSupplyList {
|
fun getCivResourcesWithOriginsForTrade(): ResourceSupplyList {
|
||||||
@ -799,7 +796,7 @@ class CivilizationInfo {
|
|||||||
fun initialSetCitiesConnectedToCapitalTransients() = transients().updateCitiesConnectedToCapital(true)
|
fun initialSetCitiesConnectedToCapitalTransients() = transients().updateCitiesConnectedToCapital(true)
|
||||||
fun updateHasActiveGreatWall() = transients().updateHasActiveGreatWall()
|
fun updateHasActiveGreatWall() = transients().updateHasActiveGreatWall()
|
||||||
fun updateViewableTiles() = transients().updateViewableTiles()
|
fun updateViewableTiles() = transients().updateViewableTiles()
|
||||||
fun updateDetailedCivResources() = transients().updateDetailedCivResources()
|
fun updateDetailedCivResources() = transients().updateCivResources()
|
||||||
|
|
||||||
fun startTurn() {
|
fun startTurn() {
|
||||||
civConstructions.startTurn()
|
civConstructions.startTurn()
|
||||||
|
Reference in New Issue
Block a user