serialiser for world

This commit is contained in:
minjaesong
2021-08-24 14:33:04 +09:00
parent 67091d0c84
commit cb73a9fea2
7 changed files with 173 additions and 96 deletions

View File

@@ -7,6 +7,7 @@ import net.torvald.terrarum.console.ConsoleCommand
import net.torvald.terrarum.console.Echo
import net.torvald.terrarum.modulebasegame.TerrarumIngame
import net.torvald.terrarum.serialise.WriteMeta
import net.torvald.terrarum.serialise.WriteWorld
import net.torvald.terrarum.utils.JsonWriter
import java.io.IOException
@@ -31,4 +32,25 @@ object ExportMeta : ConsoleCommand {
override fun printUsage() {
Echo("Usage: Exportmeta")
}
}
object ExportWorld : ConsoleCommand {
override fun execute(args: Array<String>) {
try {
val world = Terrarum.ingame!!.world
val str = WriteWorld(Terrarum.ingame!! as TerrarumIngame).invoke()
val writer = java.io.FileWriter(AppLoader.defaultDir + "/Exports/world${world.worldIndex}.json", false)
writer.write(str)
writer.close()
Echo("Exportworld: exported to world${world.worldIndex}.json")
}
catch (e: IOException) {
Echo("Exportworld: IOException raised.")
e.printStackTrace()
}
}
override fun printUsage() {
Echo("Usage: Exportworld")
}
}