From bbcf5ffed700db1defe01020d49942c1fdfdc578 Mon Sep 17 00:00:00 2001 From: Yair Morgenstern Date: Fri, 11 Dec 2020 14:28:29 +0200 Subject: [PATCH] Added "All" filter for units --- core/src/com/unciv/logic/city/CityStats.kt | 6 +++--- core/src/com/unciv/logic/map/MapUnit.kt | 1 + 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/core/src/com/unciv/logic/city/CityStats.kt b/core/src/com/unciv/logic/city/CityStats.kt index 980fd4d427..23e14160a2 100644 --- a/core/src/com/unciv/logic/city/CityStats.kt +++ b/core/src/com/unciv/logic/city/CityStats.kt @@ -330,7 +330,7 @@ class CityStats { } for (unique in cityInfo.cityConstructions.builtBuildingUniqueMap.getUniques("+[]% production when building [] in this city")) { - if (constructionFitsFilter(currentConstruction, unique.params[1])) + if (constructionMatchesFilter(currentConstruction, unique.params[1])) stats.production += unique.params[0].toInt() } @@ -354,7 +354,7 @@ class CityStats { for (unique in uniques.filter { it.placeholderText == "+[]% Production when constructing []" }) { - if (constructionFitsFilter(currentConstruction, unique.params[1])) + if (constructionMatchesFilter(currentConstruction, unique.params[1])) stats.production += unique.params[0].toInt() } @@ -373,7 +373,7 @@ class CityStats { return stats } - fun constructionFitsFilter(construction:IConstruction, filter:String): Boolean { + fun constructionMatchesFilter(construction:IConstruction, filter:String): Boolean { return construction.name == filter || filter == "land units" && construction is BaseUnit && construction.unitType.isLandUnit() || filter == "naval units" && construction is BaseUnit && construction.unitType.isWaterUnit() diff --git a/core/src/com/unciv/logic/map/MapUnit.kt b/core/src/com/unciv/logic/map/MapUnit.kt index e8dd8dccb5..22e7a15156 100644 --- a/core/src/com/unciv/logic/map/MapUnit.kt +++ b/core/src/com/unciv/logic/map/MapUnit.kt @@ -722,6 +722,7 @@ class MapUnit { fun matchesFilter(filter: String): Boolean { if (filter == type.name) return true if (filter == name) return true + if (filter == "All") return true if ((filter == "Wounded" || filter == "wounded units") && health < 100) return true if ((filter == "Land" || filter == "land units") && type.isLandUnit()) return true if ((filter == "Water" || filter == "water units") && type.isWaterUnit()) return true