perf(memory): Don't create a resource counter if we know we don't need it

This commit is contained in:
yairm210 2024-12-01 19:18:52 +02:00
parent f62919b666
commit b1a3a4d89d

View File

@ -547,10 +547,13 @@ class Building : RulesetStatsObject(), INonPerpetualConstruction {
fun isSellable() = !isAnyWonder() && !hasUnique(UniqueType.Unsellable)
override fun getResourceRequirementsPerTurn(state: StateForConditionals?): Counter<String> {
val uniques = getMatchingUniques(UniqueType.ConsumesResources,
state ?: StateForConditionals.EmptyState)
if (uniques.none() && requiredResource == null) return Counter.ZERO
val resourceRequirements = Counter<String>()
if (requiredResource != null) resourceRequirements[requiredResource!!] = 1
for (unique in getMatchingUniques(UniqueType.ConsumesResources,
state ?: StateForConditionals.EmptyState))
for (unique in uniques)
resourceRequirements[unique.params[1]] += unique.params[0].toInt()
return resourceRequirements
}