Console: Show available commands on empty command

This commit is contained in:
Yair Morgenstern 2023-11-24 15:18:22 +02:00
parent 7dc54dab03
commit df8f7c6bdd
2 changed files with 3 additions and 5 deletions

View File

@ -17,9 +17,8 @@ interface ConsoleCommandNode:ConsoleCommand{
val subcommands: HashMap<String, ConsoleCommand> val subcommands: HashMap<String, ConsoleCommand>
override fun handle(console: DevConsolePopup, params: List<String>): String? { override fun handle(console: DevConsolePopup, params: List<String>): String? {
if (params.isEmpty()) if (params.isEmpty()) return "Available commands: " + subcommands.keys.joinToString()
return "Available commands: " + subcommands.keys.joinToString() val handler = subcommands[params[0]] ?: return "Invalid command. Available commands: " + subcommands.keys.joinToString()
val handler = subcommands[params[0]] ?: return "Invalid command"
return handler.handle(console, params.drop(1)) return handler.handle(console, params.drop(1))
} }
@ -41,7 +40,7 @@ interface ConsoleCommandNode:ConsoleCommand{
} }
} }
class ConsoleCommandRoot:ConsoleCommandNode{ class ConsoleCommandRoot:ConsoleCommandNode {
override val subcommands = hashMapOf<String, ConsoleCommand>( override val subcommands = hashMapOf<String, ConsoleCommand>(
"unit" to ConsoleUnitCommands(), "unit" to ConsoleUnitCommands(),
"city" to ConsoleCityCommands() "city" to ConsoleCityCommands()

View File

@ -64,7 +64,6 @@ class DevConsolePopup(val screen: WorldScreen) : Popup(screen) {
private fun handleCommand(): String? { private fun handleCommand(): String? {
val params = getParams(textField.text) val params = getParams(textField.text)
if (params.isEmpty()) return "No command"
return ConsoleCommandRoot().handle(this, params) return ConsoleCommandRoot().handle(this, params)
} }