From fda3d3233224e4960ab71d0c89b9fbb9eb7b2c4f Mon Sep 17 00:00:00 2001 From: yairm210 Date: Sat, 13 Nov 2021 22:25:07 +0200 Subject: [PATCH] Performance improvement for getting civ-wide uniques, should help mitigate existing ANRs --- core/src/com/unciv/logic/civilization/CivilizationInfo.kt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/core/src/com/unciv/logic/civilization/CivilizationInfo.kt b/core/src/com/unciv/logic/civilization/CivilizationInfo.kt index 89b3749cf8..de56f52e21 100644 --- a/core/src/com/unciv/logic/civilization/CivilizationInfo.kt +++ b/core/src/com/unciv/logic/civilization/CivilizationInfo.kt @@ -342,11 +342,12 @@ class CivilizationInfo { fun hasResource(resourceName: String): Boolean = getCivResourcesByName()[resourceName]!! > 0 + // This function should be removed and replaced by marking where uniques originate from, hopefully. fun getCivWideBuildingUniques(cityItIsFor: CityInfo?): Sequence = cities.asSequence().flatMap { city -> if (cityItIsFor != null && city == cityItIsFor) - city.getAllUniquesWithNonLocalEffects().filter { it.params.none { param -> param == "in other cities" || param == "in all cities" } } + city.getAllUniquesWithNonLocalEffects().filter { !it.isAntiLocalEffect } else city.getAllUniquesWithNonLocalEffects() }