Files
Terrarum/src/net/torvald/terrarum/console/EchoConsole.kt
Song Minjae 22bb5d83e1 Object-ified console commands (singleton!)
Former-commit-id: d04fc939a659fc4a6b952d64894bd28edf97bc38
Former-commit-id: 6c20526f3bdda2d9d08dc156b3b0fe271e89bffb
2016-12-14 00:28:09 +09:00

33 lines
827 B
Kotlin

package net.torvald.terrarum.console
/**
* Created by minjaesong on 16-09-07.
*/
internal object EchoConsole : ConsoleCommand {
/**
* Args 0: command given
* Args 1: first argument
*
* e.g. in ```setav mass 74```, zeroth args will be ```setav```.
*/
override fun execute(args: Array<String>) {
val argsWoHeader = Array<String>(args.size - 1, {it -> args[it + 1]})
argsWoHeader.forEach { execute(it) }
}
fun execute(single_line: String) {
val sb = StringBuilder()
for (ch in single_line) {
if (ch == '\n') {
println(sb.toString())
sb.delete(0, sb.length - 1)
}
else
sb.append(ch)
}
println(sb.toString())
}
override fun printUsage() {
}
}