Added "All" filter for units

This commit is contained in:
Yair Morgenstern 2020-12-11 14:28:29 +02:00
parent 4c48522de2
commit bbcf5ffed7
2 changed files with 4 additions and 3 deletions

View File

@ -330,7 +330,7 @@ class CityStats {
} }
for (unique in cityInfo.cityConstructions.builtBuildingUniqueMap.getUniques("+[]% production when building [] in this city")) { 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() stats.production += unique.params[0].toInt()
} }
@ -354,7 +354,7 @@ class CityStats {
for (unique in uniques.filter { it.placeholderText == "+[]% Production when constructing []" }) { 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() stats.production += unique.params[0].toInt()
} }
@ -373,7 +373,7 @@ class CityStats {
return stats return stats
} }
fun constructionFitsFilter(construction:IConstruction, filter:String): Boolean { fun constructionMatchesFilter(construction:IConstruction, filter:String): Boolean {
return construction.name == filter return construction.name == filter
|| filter == "land units" && construction is BaseUnit && construction.unitType.isLandUnit() || filter == "land units" && construction is BaseUnit && construction.unitType.isLandUnit()
|| filter == "naval units" && construction is BaseUnit && construction.unitType.isWaterUnit() || filter == "naval units" && construction is BaseUnit && construction.unitType.isWaterUnit()

View File

@ -722,6 +722,7 @@ class MapUnit {
fun matchesFilter(filter: String): Boolean { fun matchesFilter(filter: String): Boolean {
if (filter == type.name) return true if (filter == type.name) return true
if (filter == 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 == "Wounded" || filter == "wounded units") && health < 100) return true
if ((filter == "Land" || filter == "land units") && type.isLandUnit()) return true if ((filter == "Land" || filter == "land units") && type.isLandUnit()) return true
if ((filter == "Water" || filter == "water units") && type.isWaterUnit()) return true if ((filter == "Water" || filter == "water units") && type.isWaterUnit()) return true