fix: lateinit property cityInfo has not been initialized issue. (#7739)

* fix: lateinit property cityInfo has not been initialized issue.

* use loop instead of foreach.
This commit is contained in:
nacro711072
2022-09-05 14:15:58 +08:00
committed by GitHub
parent 313290c994
commit 7a1c025e10
2 changed files with 4 additions and 2 deletions

View File

@ -492,6 +492,10 @@ class GameInfo : IsPartOfGameInfoSerialization, HasGameInfoSerializationVersion
for (religion in religions.values) religion.setTransients(this)
for (civInfo in civilizations) civInfo.setTransients()
for (civInfo in civilizations) {
civInfo.thingsToFocusOnForVictory =
civInfo.getPreferredVictoryTypeObject()?.getThingsToFocus(civInfo) ?: setOf()
}
convertFortify()

View File

@ -839,8 +839,6 @@ class CivilizationInfo : IsPartOfGameInfoSerialization {
victoryManager.civInfo = this
thingsToFocusOnForVictory = getPreferredVictoryTypeObject()?.getThingsToFocus(this) ?: setOf()
for (cityInfo in cities) {
cityInfo.civInfo = this // must be before the city's setTransients because it depends on the tilemap, that comes from the currentPlayerCivInfo
cityInfo.setTransients()