mirror of
https://github.com/yairm210/Unciv.git
synced 2025-09-22 10:54:19 -04:00
Added global tiles countable (#13554)
* added new countables mainly from my own req on discord for terrain to be countable, in this case i added All [tilefilter] Tiles, Unowned [tileFilter] Tiles, and Unclaimed [tileFilter] Tiles which should allow an even broader amount of stuff to be countable. * recreated to only 1 countable Thing to see if the 4 tile countables work when combined to a single countable * Update Countables.kt
This commit is contained in:
parent
2019614826
commit
1ef4dcede4
@ -144,7 +144,6 @@ enum class Countables(
|
|||||||
UniqueParameterType.CivFilter.getTranslatedErrorSeverity(parameterText, ruleset)
|
UniqueParameterType.CivFilter.getTranslatedErrorSeverity(parameterText, ruleset)
|
||||||
override fun getKnownValuesForAutocomplete(ruleset: Ruleset) = setOf<String>()
|
override fun getKnownValuesForAutocomplete(ruleset: Ruleset) = setOf<String>()
|
||||||
},
|
},
|
||||||
|
|
||||||
OwnedTiles("Owned [tileFilter] Tiles") {
|
OwnedTiles("Owned [tileFilter] Tiles") {
|
||||||
override fun eval(parameterText: String, stateForConditionals: StateForConditionals): Int? {
|
override fun eval(parameterText: String, stateForConditionals: StateForConditionals): Int? {
|
||||||
val filter = parameterText.getPlaceholderParameters()[0]
|
val filter = parameterText.getPlaceholderParameters()[0]
|
||||||
@ -155,7 +154,17 @@ enum class Countables(
|
|||||||
UniqueParameterType.TileFilter.getTranslatedErrorSeverity(parameterText, ruleset)
|
UniqueParameterType.TileFilter.getTranslatedErrorSeverity(parameterText, ruleset)
|
||||||
override fun getKnownValuesForAutocomplete(ruleset: Ruleset) = setOf<String>()
|
override fun getKnownValuesForAutocomplete(ruleset: Ruleset) = setOf<String>()
|
||||||
},
|
},
|
||||||
|
TileFilterTiles("[tileFilter] Tiles") {
|
||||||
|
override fun eval(parameterText: String, stateForConditionals: StateForConditionals): Int? {
|
||||||
|
val filter = parameterText.getPlaceholderParameters()[0]
|
||||||
|
val tileMap = stateForConditionals.gameInfo?.tileMap ?: return null
|
||||||
|
return tileMap.tileList.count { it.matchesFilter(filter, stateForConditionals.civInfo) }
|
||||||
|
}
|
||||||
|
override fun getErrorSeverity(parameterText: String, ruleset: Ruleset): UniqueType.UniqueParameterErrorSeverity? =
|
||||||
|
UniqueParameterType.TileFilter.getTranslatedErrorSeverity(parameterText, ruleset)
|
||||||
|
override fun getKnownValuesForAutocomplete(ruleset: Ruleset) = setOf<String>()
|
||||||
|
override val example: String = "[Desert] Tiles"
|
||||||
|
},
|
||||||
TileResources {
|
TileResources {
|
||||||
override val documentationHeader = "Resource name - From [TileResources.json](3-Map-related-JSON-files.md#tileresourcesjson)"
|
override val documentationHeader = "Resource name - From [TileResources.json](3-Map-related-JSON-files.md#tileresourcesjson)"
|
||||||
override val documentationStrings = listOf(
|
override val documentationStrings = listOf(
|
||||||
@ -213,8 +222,6 @@ enum class Countables(
|
|||||||
if (Stat.isStat(parameterText.getPlaceholderParameters()[0])) null else UniqueType.UniqueParameterErrorSeverity.RulesetInvariant
|
if (Stat.isStat(parameterText.getPlaceholderParameters()[0])) null else UniqueType.UniqueParameterErrorSeverity.RulesetInvariant
|
||||||
override fun getKnownValuesForAutocomplete(ruleset: Ruleset) = Stat.entries.map { placeholderText.fillPlaceholders(it.name) }.toSet()
|
override fun getKnownValuesForAutocomplete(ruleset: Ruleset) = Stat.entries.map { placeholderText.fillPlaceholders(it.name) }.toSet()
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|
||||||
Expression {
|
Expression {
|
||||||
override val noPlaceholders = false
|
override val noPlaceholders = false
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user