mirror of
https://github.com/yairm210/Unciv.git
synced 2025-08-03 04:27:56 -04:00
Resolved #12521 - Added 'tile setpillaged' to dev console commands
This commit is contained in:
parent
a14c78f28d
commit
86b6fbf7bc
@ -137,6 +137,10 @@ internal class CliInput(
|
||||
/** Parses `this` parameter as a Float number.
|
||||
* @throws ConsoleErrorException if the string is not a valid representation of a number. */
|
||||
fun toFloat(): Float = content.toFloatOrNull() ?: throw ConsoleErrorException("'$this' is not a valid number.")
|
||||
|
||||
/** Parses `this` parameter as a Boolean.
|
||||
* @throws ConsoleErrorException if the string is not 'true' or 'false'. */
|
||||
fun toBoolean(): Boolean = content.toBooleanStrictOrNull() ?: throw ConsoleErrorException("'$this' is not a valid boolean value.")
|
||||
|
||||
/** Parses `this` parameter as the name of a [Stat].
|
||||
* @throws ConsoleErrorException if the string is not a Stat name. */
|
||||
|
@ -34,14 +34,15 @@ internal enum class ConsoleParameterType(
|
||||
policyName( { ruleset.policyBranches.keys + ruleset.policies.keys } ),
|
||||
techName( { ruleset.technologies.keys } ),
|
||||
cityName( { civilizations.flatMap { civ -> civ.cities.map { it.name } } } ),
|
||||
triggeredUniqueTemplate( { UniqueType.values().filter { it.canAcceptUniqueTarget(UniqueTarget.Triggerable) }.map { it.text } }, preferquoted = true ),
|
||||
difficulty( { ruleset.difficulties.keys } )
|
||||
triggeredUniqueTemplate( { UniqueType.entries.filter { it.canAcceptUniqueTarget(UniqueTarget.Triggerable) }.map { it.text } }, preferquoted = true ),
|
||||
difficulty( { ruleset.difficulties.keys } ),
|
||||
boolean( { listOf("true", "false") }),
|
||||
;
|
||||
|
||||
private fun getOptions(console: DevConsolePopup) = console.gameInfo.getOptions()
|
||||
|
||||
companion object {
|
||||
fun safeValueOf(name: String): ConsoleParameterType = values().firstOrNull { it.name == name } ?: none
|
||||
fun safeValueOf(name: String): ConsoleParameterType = entries.firstOrNull { it.name == name } ?: none
|
||||
fun getOptions(name: String, console: DevConsolePopup) = safeValueOf(name).let { type ->
|
||||
if (type.preferquoted) type.getOptions(console).map { CliInput(it, CliInput.Method.Quoted) }
|
||||
else type.getOptions(console).map { CliInput(it) }
|
||||
|
@ -38,6 +38,14 @@ internal class ConsoleTileCommands: ConsoleCommandNode {
|
||||
selectedTile.getCity()?.reassignPopulation()
|
||||
DevConsoleResponse.OK
|
||||
},
|
||||
|
||||
"setpillaged" to ConsoleAction("tile setpillaged <boolean>"){ console, params ->
|
||||
val selectedTile = console.getSelectedTile()
|
||||
val setPillaged = params[0].toBoolean()
|
||||
if (setPillaged) selectedTile.setPillaged()
|
||||
else selectedTile.setRepaired()
|
||||
DevConsoleResponse.OK
|
||||
},
|
||||
|
||||
"removeroad" to ConsoleAction("tile removeroad") { console, _ ->
|
||||
val selectedTile = console.getSelectedTile()
|
||||
|
Loading…
x
Reference in New Issue
Block a user