mirror of
https://github.com/yairm210/Unciv.git
synced 2025-02-11 11:28:03 +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:
parent
cf6dacdcbe
commit
0a336b3d99
@ -164,7 +164,7 @@ class CivInfoTransientUpdater(val civInfo: CivilizationInfo) {
|
||||
civInfo.citiesConnectedToCapitalToMediums = citiesReachedToMediums
|
||||
}
|
||||
|
||||
fun updateDetailedCivResources() {
|
||||
fun updateCivResources() {
|
||||
val newDetailedCivResources = ResourceSupplyList()
|
||||
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())
|
||||
newDetailedCivResources.add(civInfo.gameInfo.ruleSet.tileResources[resource]!!, -amount, "Units")
|
||||
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
|
||||
}
|
||||
}
|
@ -97,6 +97,9 @@ class CivilizationInfo {
|
||||
@Transient
|
||||
var detailedCivResources = ResourceSupplyList()
|
||||
|
||||
@Transient
|
||||
var summarizedCivResources = ResourceSupplyList()
|
||||
|
||||
@Transient
|
||||
val cityStateFunctions = CityStateFunctions(this)
|
||||
|
||||
@ -324,13 +327,7 @@ class CivilizationInfo {
|
||||
fun getHappiness() = happinessForNextTurn
|
||||
|
||||
|
||||
fun getCivResources(): ResourceSupplyList {
|
||||
val newResourceSupplyList = ResourceSupplyList()
|
||||
for (resourceSupply in detailedCivResources) {
|
||||
newResourceSupplyList.add(resourceSupply.resource, resourceSupply.amount, "All")
|
||||
}
|
||||
return newResourceSupplyList
|
||||
}
|
||||
fun getCivResources(): ResourceSupplyList = summarizedCivResources
|
||||
|
||||
// Preserves some origins for resources so we can separate them for trades
|
||||
fun getCivResourcesWithOriginsForTrade(): ResourceSupplyList {
|
||||
@ -799,7 +796,7 @@ class CivilizationInfo {
|
||||
fun initialSetCitiesConnectedToCapitalTransients() = transients().updateCitiesConnectedToCapital(true)
|
||||
fun updateHasActiveGreatWall() = transients().updateHasActiveGreatWall()
|
||||
fun updateViewableTiles() = transients().updateViewableTiles()
|
||||
fun updateDetailedCivResources() = transients().updateDetailedCivResources()
|
||||
fun updateDetailedCivResources() = transients().updateCivResources()
|
||||
|
||||
fun startTurn() {
|
||||
civConstructions.startTurn()
|
||||
|
Loading…
Reference in New Issue
Block a user