From ead83b912b365be8f0c6bc7599af1b5828376050 Mon Sep 17 00:00:00 2001 From: Yair Morgenstern Date: Sun, 18 Jun 2023 00:25:03 +0300 Subject: [PATCH] Performance improvements - unit unique check uses map, not array search --- core/src/com/unciv/models/ruleset/unit/BaseUnit.kt | 2 +- core/src/com/unciv/models/ruleset/unit/UnitType.kt | 5 ++--- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/core/src/com/unciv/models/ruleset/unit/BaseUnit.kt b/core/src/com/unciv/models/ruleset/unit/BaseUnit.kt index de0542ca81..3417eedeb5 100644 --- a/core/src/com/unciv/models/ruleset/unit/BaseUnit.kt +++ b/core/src/com/unciv/models/ruleset/unit/BaseUnit.kt @@ -311,7 +311,7 @@ class BaseUnit : RulesetObject(), INonPerpetualConstruction { // "military units" --> "Military", using invariant locale && matchesFilter(filter.removeSuffix(" units").lowercase().replaceFirstChar { it.uppercaseChar() }) ) return true - return uniques.contains(filter) + return uniqueMap.contains(filter) } } } diff --git a/core/src/com/unciv/models/ruleset/unit/UnitType.kt b/core/src/com/unciv/models/ruleset/unit/UnitType.kt index df4b1ff7c9..63bbea3822 100644 --- a/core/src/com/unciv/models/ruleset/unit/UnitType.kt +++ b/core/src/com/unciv/models/ruleset/unit/UnitType.kt @@ -42,9 +42,8 @@ class UnitType() : RulesetObject() { "Land" -> isLandUnit() "Water" -> isWaterUnit() "Air" -> isAirUnit() - else -> { - uniques.contains(filter) - } + in uniqueMap -> true + else -> false } }