UI testing env and working text buttons

Former-commit-id: b8fd27c7f71f9bc8da259ae132badcbc9ce117ac
This commit is contained in:
Song Minjae
2017-03-13 21:40:50 +09:00
parent 0113ca5d09
commit bc4fd8866a
73 changed files with 688 additions and 264 deletions

View File

@@ -12,14 +12,14 @@ object AVTracker : ConsoleCommand {
override fun execute(args: Array<String>) {
if (args.size < 2) {
jPanelInstances.add(ActorValueTracker(Terrarum.ingame.player))
jPanelInstances.add(ActorValueTracker(Terrarum.ingame!!.player))
}
else {
try {
val actorID = args[1].toInt()
if (Terrarum.ingame.theGameHasActor(actorID)) {
jPanelInstances.add(ActorValueTracker(Terrarum.ingame.getActorByID(actorID)))
if (Terrarum.ingame!!.theGameHasActor(actorID)) {
jPanelInstances.add(ActorValueTracker(Terrarum.ingame!!.getActorByID(actorID)))
}
else {
throw IllegalArgumentException()

View File

@@ -12,8 +12,8 @@ object ActorsList : ConsoleCommand {
override fun execute(args: Array<String>) {
jPanelInstances.add(ActorsLister(
Terrarum.ingame.actorContainer,
Terrarum.ingame.actorContainerInactive)
Terrarum.ingame!!.actorContainer,
Terrarum.ingame!!.actorContainerInactive)
)
}

View File

@@ -39,7 +39,7 @@ internal object Authenticator : ConsoleCommand {
Echo(msg)
println("[Authenticator] " + msg)
a = !a
(Terrarum.ingame.consoleHandler.UI as ConsoleWindow).reset()
(Terrarum.ingame!!.consoleHandler.UI as ConsoleWindow).reset()
}
else {
printUsage() // thou shalt not pass!

View File

@@ -19,13 +19,13 @@ internal object Echo : ConsoleCommand {
val sb = StringBuilder()
for (ch in single_line) {
if (ch == '\n') {
(Terrarum.ingame.consoleHandler.UI as ConsoleWindow).sendMessage(sb.toString())
(Terrarum.ingame!!.consoleHandler.UI as ConsoleWindow).sendMessage(sb.toString())
sb.delete(0, sb.length - 1)
}
else
sb.append(ch)
}
(Terrarum.ingame.consoleHandler.UI as ConsoleWindow).sendMessage(sb.toString())
(Terrarum.ingame!!.consoleHandler.UI as ConsoleWindow).sendMessage(sb.toString())
}
operator fun invoke(args: Array<String>) = execute(args)

View File

@@ -14,7 +14,7 @@ internal object EchoError : ConsoleCommand {
}
fun execute(single_line: String) {
(Terrarum.ingame.consoleHandler.UI as ConsoleWindow).sendMessage("${GameFontBase.colToCode["r"]}$single_line")
(Terrarum.ingame!!.consoleHandler.UI as ConsoleWindow).sendMessage("${GameFontBase.colToCode["r"]}$single_line")
}
operator fun invoke(args: Array<String>) = execute(args)

View File

@@ -13,7 +13,7 @@ internal object ExportAV : ConsoleCommand {
if (args.size == 2) {
try {
JsonWriter.writeToFile(
Terrarum.ingame.player.actorValue,
Terrarum.ingame!!.player.actorValue,
Terrarum.defaultDir + "/Exports/" + args[1] + ".json")
Echo("ExportAV: exported to " + args[1] + ".json")

View File

@@ -60,10 +60,10 @@ internal object ExportMap : ConsoleCommand {
override fun execute(args: Array<String>) {
if (args.size == 2) {
var mapData = ByteArray(Terrarum.ingame.world.width * Terrarum.ingame.world.height * 3)
var mapData = ByteArray(Terrarum.ingame!!.world.width * Terrarum.ingame!!.world.height * 3)
var mapDataPointer = 0
for (tile in Terrarum.ingame.world.terrainIterator()) {
for (tile in Terrarum.ingame!!.world.terrainIterator()) {
val colArray = (colorTable as Map<Int, Col4096>)
.getOrElse(tile, { Col4096(0xFFF) }).toByteArray()
@@ -82,7 +82,7 @@ internal object ExportMap : ConsoleCommand {
try {
RasterWriter.writePNG_RGB(
Terrarum.ingame.world.width, Terrarum.ingame.world.height, mapData, dir + args[1] + ".png")
Terrarum.ingame!!.world.width, Terrarum.ingame!!.world.height, mapData, dir + args[1] + ".png")
Echo("ExportMap: exported to " + args[1] + ".png")
}

View File

@@ -19,7 +19,7 @@ internal object GetAV : ConsoleCommand {
try {
if (args.size == 1) {
// print all actorvalue of player
val av = Terrarum.ingame.player.actorValue
val av = Terrarum.ingame!!.player.actorValue
val keyset = av.keySet
Echo("$ccW== ActorValue list for ${ccY}player $ccW==")
@@ -37,19 +37,19 @@ internal object GetAV : ConsoleCommand {
if (!args[1].isNum()) { // args[1] is ActorValue name
Echo("${ccW}player.$ccM${args[1]} $ccW= " +
ccG +
Terrarum.ingame.player.actorValue[args[1]] +
Terrarum.ingame!!.player.actorValue[args[1]] +
" $ccO" +
Terrarum.ingame.player.actorValue[args[1]]!!.javaClass.simpleName
Terrarum.ingame!!.player.actorValue[args[1]]!!.javaClass.simpleName
)
println("[GetAV] player.${args[1]} = " +
Terrarum.ingame.player.actorValue[args[1]] +
Terrarum.ingame!!.player.actorValue[args[1]] +
" " +
Terrarum.ingame.player.actorValue[args[1]]!!.javaClass.simpleName
Terrarum.ingame!!.player.actorValue[args[1]]!!.javaClass.simpleName
)
}
else {
// args[1] is actor ID
val actor = Terrarum.ingame.getActorByID(args[1].toInt())
val actor = Terrarum.ingame!!.getActorByID(args[1].toInt())
val av = actor.actorValue
val keyset = av.keySet
@@ -71,14 +71,14 @@ internal object GetAV : ConsoleCommand {
val id = args[1].toInt()
val av = args[2]
Echo("$ccW$id.$ccM$av $ccW= $ccG" +
Terrarum.ingame.getActorByID(id).actorValue[av] +
Terrarum.ingame!!.getActorByID(id).actorValue[av] +
" $ccO" +
Terrarum.ingame.getActorByID(id).actorValue[av]!!.javaClass.simpleName
Terrarum.ingame!!.getActorByID(id).actorValue[av]!!.javaClass.simpleName
)
println("$id.$av = " +
Terrarum.ingame.getActorByID(id).actorValue[av] +
Terrarum.ingame!!.getActorByID(id).actorValue[av] +
" " +
Terrarum.ingame.getActorByID(id).actorValue[av]!!.javaClass.simpleName
Terrarum.ingame!!.getActorByID(id).actorValue[av]!!.javaClass.simpleName
)
}
}

View File

@@ -25,7 +25,7 @@ internal object GetFactioning : ConsoleCommand {
val error = Error()
fun printOutFactioning(id: Int) {
val a = Terrarum.ingame.getActorByID(id)
val a = Terrarum.ingame!!.getActorByID(id)
if (a is Factionable) {
Echo("$ccW== Faction assignment for $ccY${if (id == Player.PLAYER_REF_ID) "player" else id.toString()} $ccW==")
println("[GetFactioning] == Faction assignment for '${if (id == Player.PLAYER_REF_ID) "player" else id.toString()}' ==")

View File

@@ -8,7 +8,7 @@ import net.torvald.terrarum.Terrarum
internal object GetTime : ConsoleCommand {
override fun execute(args: Array<String>) {
val worldTime = Terrarum.ingame.world.time
val worldTime = Terrarum.ingame!!.world.time
Echo(worldTime.getFormattedTime())
}

View File

@@ -14,7 +14,7 @@ import java.io.IOException
internal object GsonTest : ConsoleCommand {
override fun execute(args: Array<String>) {
if (args.size == 2) {
val avelem = Gson().toJsonTree(Terrarum.ingame.player)
val avelem = Gson().toJsonTree(Terrarum.ingame!!.player)
val jsonString = avelem.toString()

View File

@@ -12,7 +12,7 @@ import net.torvald.terrarum.itemproperties.ItemCodex
*/
internal object Inventory : ConsoleCommand {
private var target: Pocketed = Terrarum.ingame.player
private var target: Pocketed = Terrarum.ingame!!.player
override fun execute(args: Array<String>) {
if (args.size == 1) {
@@ -45,7 +45,7 @@ internal object Inventory : ConsoleCommand {
}
private fun setTarget(actorRefId: Int = Player.PLAYER_REF_ID) {
val actor = Terrarum.ingame.getActorByID(actorRefId)
val actor = Terrarum.ingame!!.getActorByID(actorRefId)
if (actor !is Pocketed) {
EchoError("Cannot edit inventory of incompatible actor: $actor")
}

View File

@@ -11,7 +11,7 @@ object KillActor : ConsoleCommand {
if (args.size == 2) {
try {
val actorid = args[1].toInt()
Terrarum.ingame.removeActor(actorid)
Terrarum.ingame!!.removeActor(actorid)
}
catch (e: NumberFormatException) {
EchoError("Wrong number input.")

View File

@@ -12,8 +12,8 @@ internal object Seed : ConsoleCommand {
val ccY = GameFontBase.colToCode["y"]
override fun execute(args: Array<String>) {
Echo("Map$ccW: $ccG${Terrarum.ingame.world.generatorSeed}")
println("[seed] Map$ccW: $ccG${Terrarum.ingame.world.generatorSeed}")
Echo("Map$ccW: $ccG${Terrarum.ingame!!.world.generatorSeed}")
println("[seed] Map$ccW: $ccG${Terrarum.ingame!!.world.generatorSeed}")
// TODO display randomiser seed
}

View File

@@ -66,7 +66,7 @@ internal object SetAV : ConsoleCommand {
return
}
Terrarum.ingame.player.actorValue[args[1]] = newValue
Terrarum.ingame!!.player.actorValue[args[1]] = newValue
Echo("${ccW}Set $ccM${args[1]} ${ccW}for ${ccY}player ${ccW}to $ccG$newValue")
println("[SetAV] set ActorValue '${args[1]}' for player to '$newValue'.")
}
@@ -74,7 +74,7 @@ internal object SetAV : ConsoleCommand {
try {
val id = args[1].toInt()
val newValue = parseAVInput(args[3])
val actor = Terrarum.ingame.getActorByID(id)
val actor = Terrarum.ingame!!.getActorByID(id)
// check if av is number
if (args[2].isNum()) {

View File

@@ -25,7 +25,7 @@ internal object SetBulletin : ConsoleCommand {
* @param message real message
*/
fun send(message: Array<String>) {
Terrarum.ingame.sendNotification(message)
Terrarum.ingame!!.sendNotification(message)
println("sent notifinator")
}
}

View File

@@ -20,7 +20,7 @@ internal object SetGlobalLightOverride : ConsoleCommand {
val GL = LightmapRenderer.constructRGBFromInt(r, g, b)
lightOverride = true
Terrarum.ingame.world.globalLight = GL
Terrarum.ingame!!.world.globalLight = GL
}
catch (e: NumberFormatException) {
Echo("Wrong number input.")
@@ -38,7 +38,7 @@ internal object SetGlobalLightOverride : ConsoleCommand {
Echo("Range: 0-" + (LightmapRenderer.COLOUR_RANGE_SIZE - 1))
}
else {
Terrarum.ingame.world.globalLight = GL
Terrarum.ingame!!.world.globalLight = GL
}
}
catch (e: NumberFormatException) {

View File

@@ -10,10 +10,10 @@ object SetScale : ConsoleCommand {
override fun execute(args: Array<String>) {
if (args.size == 2 || args.size == 3) {
try {
val targetID = if (args.size == 3) args[1].toInt() else Terrarum.ingame.player.referenceID
val targetID = if (args.size == 3) args[1].toInt() else Terrarum.ingame!!.player.referenceID
val scale = args[if (args.size == 3) 2 else 1].toDouble()
val target = Terrarum.ingame.getActorByID(targetID)
val target = Terrarum.ingame!!.getActorByID(targetID)
if (target !is ActorWithSprite) {
EchoError("Target is not ActorWithSprite")

View File

@@ -11,10 +11,10 @@ internal object SetTime : ConsoleCommand {
if (args.size == 2) {
val timeToSet = WorldTime.parseTime(args[1])
Terrarum.ingame.world.time.setTime(timeToSet)
Terrarum.ingame!!.world.time.setTime(timeToSet)
Echo("Set time to ${Terrarum.ingame.world.time.elapsedSeconds} " +
"(${Terrarum.ingame.world.time.hours}h${formatMin(Terrarum.ingame.world.time.minutes)})")
Echo("Set time to ${Terrarum.ingame!!.world.time.elapsedSeconds} " +
"(${Terrarum.ingame!!.world.time.hours}h${formatMin(Terrarum.ingame!!.world.time.minutes)})")
}
else {
printUsage()

View File

@@ -14,11 +14,11 @@ internal object SetTimeDelta : ConsoleCommand {
if (args[1].toInt() > HARD_LIMIT)
EchoError("Delta too large -- acceptable delta is 0-60.")
Terrarum.ingame.world.time.setTimeDelta(args[1].toInt())
if (Terrarum.ingame.world.time.timeDelta == 0)
Terrarum.ingame!!.world.time.setTimeDelta(args[1].toInt())
if (Terrarum.ingame!!.world.time.timeDelta == 0)
Echo("時間よ止まれ!ザ・ワルド!!")
else
Echo("Set time delta to ${Terrarum.ingame.world.time.timeDelta}")
Echo("Set time delta to ${Terrarum.ingame!!.world.time.timeDelta}")
}
else {
printUsage()

View File

@@ -31,7 +31,7 @@ internal object SpawnPhysTestBall : ConsoleCommand {
ball.elasticity = elasticity
ball.applyForce(Vector2(xvel, yvel))
Terrarum.ingame.addNewActor(ball)
Terrarum.ingame!!.addNewActor(ball)
}
else if (args.size == 2) {
val elasticity = args[1].toDouble()
@@ -43,7 +43,7 @@ internal object SpawnPhysTestBall : ConsoleCommand {
)
ball.elasticity = elasticity
Terrarum.ingame.addNewActor(ball)
Terrarum.ingame!!.addNewActor(ball)
}
else {
printUsage()

View File

@@ -16,7 +16,7 @@ object SpawnTapestry : ConsoleCommand {
}
val tapestry = DecodeTapestry(File(args[1]))
Terrarum.ingame.addNewActor(tapestry)
Terrarum.ingame!!.addNewActor(tapestry)
}
override fun printUsage() {

View File

@@ -13,7 +13,7 @@ object SpawnTikiTorch : ConsoleCommand {
val torch = FixtureTikiTorch()
torch.setPosition(Terrarum.appgc.mouseX, Terrarum.appgc.mouseY)
Terrarum.ingame.addNewActor(torch)
Terrarum.ingame!!.addNewActor(torch)
}
override fun printUsage() {

View File

@@ -24,7 +24,7 @@ internal object Teleport : ConsoleCommand {
return
}
Terrarum.ingame.player.setPosition(x.toDouble(), y.toDouble())
Terrarum.ingame!!.player.setPosition(x.toDouble(), y.toDouble())
}
else if (args.size == 4) {
if (args[2].toLowerCase() != "to") {
@@ -36,20 +36,20 @@ internal object Teleport : ConsoleCommand {
try {
val fromActorID = args[1].toInt()
val targetActorID = if (args[3].toLowerCase() == "player")
Terrarum.ingame.player.referenceID
Terrarum.ingame!!.player.referenceID
else
args[3].toInt()
// if from == target, ignore the action
if (fromActorID == targetActorID) return
if (Terrarum.ingame.getActorByID(fromActorID) !is ActorWithSprite ||
Terrarum.ingame.getActorByID(targetActorID) !is ActorWithSprite) {
if (Terrarum.ingame!!.getActorByID(fromActorID) !is ActorWithSprite ||
Terrarum.ingame!!.getActorByID(targetActorID) !is ActorWithSprite) {
throw IllegalArgumentException()
}
else {
fromActor = Terrarum.ingame.getActorByID(fromActorID) as ActorWithSprite
targetActor = Terrarum.ingame.getActorByID(targetActorID) as ActorWithSprite
fromActor = Terrarum.ingame!!.getActorByID(fromActorID) as ActorWithSprite
targetActor = Terrarum.ingame!!.getActorByID(targetActorID) as ActorWithSprite
}
}
catch (e: NumberFormatException) {
@@ -80,11 +80,11 @@ internal object Teleport : ConsoleCommand {
y = args[4].toInt() * FeaturesDrawer.TILE_SIZE + FeaturesDrawer.TILE_SIZE / 2
val actorID = args[1].toInt()
if (Terrarum.ingame.getActorByID(actorID) !is ActorWithSprite) {
if (Terrarum.ingame!!.getActorByID(actorID) !is ActorWithSprite) {
throw IllegalArgumentException()
}
else {
actor = Terrarum.ingame.getActorByID(actorID) as ActorWithSprite
actor = Terrarum.ingame!!.getActorByID(actorID) as ActorWithSprite
}
}
catch (e: NumberFormatException) {

View File

@@ -8,9 +8,9 @@ import net.torvald.terrarum.Terrarum
*/
internal object ToggleNoClip : ConsoleCommand {
override fun execute(args: Array<String>) {
val status = Terrarum.ingame.player.isNoClip()
val status = Terrarum.ingame!!.player.isNoClip()
Terrarum.ingame.player.setNoClip(!status)
Terrarum.ingame!!.player.setNoClip(!status)
Echo("Set no-clip status to " + (!status).toString())
}

View File

@@ -18,14 +18,14 @@ internal object Zoom : ConsoleCommand {
return
}
if (zoom < Terrarum.ingame.ZOOM_MIN) {
zoom = Terrarum.ingame.ZOOM_MIN
if (zoom < Terrarum.ingame!!.ZOOM_MIN) {
zoom = Terrarum.ingame!!.ZOOM_MIN
}
else if (zoom > Terrarum.ingame.ZOOM_MAX) {
zoom = Terrarum.ingame.ZOOM_MAX
else if (zoom > Terrarum.ingame!!.ZOOM_MAX) {
zoom = Terrarum.ingame!!.ZOOM_MAX
}
Terrarum.ingame.screenZoom = zoom
Terrarum.ingame!!.screenZoom = zoom
System.gc()