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>
override fun handle(console: DevConsolePopup, params: List<String>): String? {
if (params.isEmpty())
return "Available commands: " + subcommands.keys.joinToString()
val handler = subcommands[params[0]] ?: return "Invalid command"
if (params.isEmpty()) return "Available commands: " + subcommands.keys.joinToString()
val handler = subcommands[params[0]] ?: return "Invalid command. Available commands: " + subcommands.keys.joinToString()
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>(
"unit" to ConsoleUnitCommands(),
"city" to ConsoleCityCommands()

View File

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