From 12f0a80732f5aae76f900c18f87b0c81a016896c Mon Sep 17 00:00:00 2001 From: yairm210 Date: Thu, 25 Apr 2024 15:16:09 +0300 Subject: [PATCH] Perf: Minor hotspot when you have many invisible-unit detectors --- .../logic/civilization/transients/CivInfoTransientCache.kt | 1 + core/src/com/unciv/logic/map/tile/TileStatFunctions.kt | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/core/src/com/unciv/logic/civilization/transients/CivInfoTransientCache.kt b/core/src/com/unciv/logic/civilization/transients/CivInfoTransientCache.kt index 1fd55c02d0..73bae19171 100644 --- a/core/src/com/unciv/logic/civilization/transients/CivInfoTransientCache.kt +++ b/core/src/com/unciv/logic/civilization/transients/CivInfoTransientCache.kt @@ -149,6 +149,7 @@ class CivInfoTransientCache(val civInfo: Civilization) { .toList() // save this, it'll be seeing a lot of use for (tile in unit.viewableTiles) { if (tile.militaryUnit == null) continue + if (tile in newViewableInvisibleTiles) continue if (visibleUnitTypes.any { tile.militaryUnit!!.matchesFilter(it) }) newViewableInvisibleTiles.add(tile) } diff --git a/core/src/com/unciv/logic/map/tile/TileStatFunctions.kt b/core/src/com/unciv/logic/map/tile/TileStatFunctions.kt index 2eb1b05780..d4057d6396 100644 --- a/core/src/com/unciv/logic/map/tile/TileStatFunctions.kt +++ b/core/src/com/unciv/logic/map/tile/TileStatFunctions.kt @@ -134,7 +134,8 @@ class TileStatFunctions(val tile: Tile) { // Note: Not `for ((stat, value) in other)` - that would skip zero values val missingStats = Stats() for (stat in Stat.values()) { - if (current[stat] < minimumStats[stat]) missingStats[stat] = minimumStats[stat] - current[stat] + if (current[stat] < minimumStats[stat]) + missingStats[stat] = minimumStats[stat] - current[stat] } return missingStats }