From bed6f7446294b9676d837a29e324ad75fe8e9fbe Mon Sep 17 00:00:00 2001 From: minjaesong Date: Wed, 25 Nov 2020 13:39:17 +0900 Subject: [PATCH] screenshots will take unique name --- src/net/torvald/terrarum/AppLoader.java | 5 ++++- src/net/torvald/terrarum/IngameInstance.kt | 4 ++++ src/net/torvald/terrarum/gamecontroller/IngameController.kt | 1 - src/net/torvald/terrarum/modulebasegame/TerrarumIngame.kt | 6 +++--- 4 files changed, 11 insertions(+), 5 deletions(-) diff --git a/src/net/torvald/terrarum/AppLoader.java b/src/net/torvald/terrarum/AppLoader.java index 4f9283cb0..a9d6a2fe0 100644 --- a/src/net/torvald/terrarum/AppLoader.java +++ b/src/net/torvald/terrarum/AppLoader.java @@ -557,11 +557,14 @@ public class AppLoader implements ApplicationListener { try { Pixmap p = ScreenUtils.getFrameBufferPixmap(0, 0, appConfig.width, appConfig.height); - PixmapIO2.writeTGA(Gdx.files.absolute(defaultDir + "/Screenshot.tga"), p, true); + PixmapIO2.writeTGA(Gdx.files.absolute(defaultDir+"/Screenshot-"+String.valueOf(System.currentTimeMillis())+".tga"), p, true); p.dispose(); + + Terrarum.INSTANCE.getIngame().sendNotification("Screenshot taken"); } catch (Throwable e) { e.printStackTrace(); + Terrarum.INSTANCE.getIngame().sendNotification("Failed to take screenshot: "+e.getMessage()); } } diff --git a/src/net/torvald/terrarum/IngameInstance.kt b/src/net/torvald/terrarum/IngameInstance.kt index 4d49be2ab..ace45b7e0 100644 --- a/src/net/torvald/terrarum/IngameInstance.kt +++ b/src/net/torvald/terrarum/IngameInstance.kt @@ -253,6 +253,10 @@ open class IngameInstance(val batch: SpriteBatch) : Screen { data class BlockChangeQueueItem(val old: Int, val new: Int, val posX: Int, val posY: Int) + + open fun sendNotification(messages: Array) {} + open fun sendNotification(messages: List) {} + open fun sendNotification(singleMessage: String) {} } inline fun Lock.lock(body: () -> Unit) { diff --git a/src/net/torvald/terrarum/gamecontroller/IngameController.kt b/src/net/torvald/terrarum/gamecontroller/IngameController.kt index 5fad2a017..dcbc9d923 100644 --- a/src/net/torvald/terrarum/gamecontroller/IngameController.kt +++ b/src/net/torvald/terrarum/gamecontroller/IngameController.kt @@ -117,7 +117,6 @@ class IngameController(val terrarumIngame: TerrarumIngame) : InputAdapter() { // screenshot key if (keycode == Input.Keys.F12 && !f12Down) { AppLoader.requestScreenshot() - terrarumIngame.sendNotification("Screenshot taken") f12Down = true println("Screenshot taken.") } diff --git a/src/net/torvald/terrarum/modulebasegame/TerrarumIngame.kt b/src/net/torvald/terrarum/modulebasegame/TerrarumIngame.kt index 4c5b96d4a..cd44d0342 100644 --- a/src/net/torvald/terrarum/modulebasegame/TerrarumIngame.kt +++ b/src/net/torvald/terrarum/modulebasegame/TerrarumIngame.kt @@ -660,15 +660,15 @@ open class TerrarumIngame(batch: SpriteBatch) : IngameInstance(batch) { } /** Send message to notifier UI and toggle the UI as opened. */ - fun sendNotification(messages: Array) { + override fun sendNotification(messages: Array) { (notifier as Notification).sendNotification(messages.toList()) } - fun sendNotification(messages: List) { + override fun sendNotification(messages: List) { (notifier as Notification).sendNotification(messages) } - fun sendNotification(singleMessage: String) = sendNotification(listOf(singleMessage)) + override fun sendNotification(singleMessage: String) = sendNotification(listOf(singleMessage)) fun wakeDormantActors() { var actorContainerSize = actorContainerInactive.size