From e4c7ed581cb5befd50199cb1305aa93930151a6a Mon Sep 17 00:00:00 2001 From: minjaesong Date: Thu, 25 Feb 2021 14:31:36 +0900 Subject: [PATCH] fixing bug where the crafting table (or something) would placed and ui opened at the same time --- .../torvald/terrarum/gamecontroller/IngameController.kt | 9 ++++++++- .../torvald/terrarum/modulebasegame/TerrarumIngame.kt | 2 ++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/src/net/torvald/terrarum/gamecontroller/IngameController.kt b/src/net/torvald/terrarum/gamecontroller/IngameController.kt index dcbc9d923..2fa7d8198 100644 --- a/src/net/torvald/terrarum/gamecontroller/IngameController.kt +++ b/src/net/torvald/terrarum/gamecontroller/IngameController.kt @@ -46,6 +46,8 @@ class IngameController(val terrarumIngame: TerrarumIngame) : InputAdapter() { } } + private var worldPrimaryClickLatched = false + fun update(delta: Float) { /////////////////// @@ -61,13 +63,18 @@ class IngameController(val terrarumIngame: TerrarumIngame) : InputAdapter() { // also, some UIs should NOT affect item usage (e.g. quickslot) and ingame's uiOpened property is doing // the very job. - if (Gdx.input.isButtonPressed(AppLoader.getConfigInt("config_mouseprimary"))) { + if (Gdx.input.isButtonPressed(AppLoader.getConfigInt("config_mouseprimary")) && !worldPrimaryClickLatched) { terrarumIngame.worldPrimaryClickStart(AppLoader.UPDATE_RATE) + worldPrimaryClickLatched = true } /*if Gdx.input.isButtonPressed(AppLoader.getConfigInt("config_mousesecondary")) { ingame.worldSecondaryClickStart(AppLoader.UPDATE_RATE) }*/ + if (!Gdx.input.isButtonPressed(AppLoader.getConfigInt("config_mouseprimary"))) { + worldPrimaryClickLatched = false + } + } diff --git a/src/net/torvald/terrarum/modulebasegame/TerrarumIngame.kt b/src/net/torvald/terrarum/modulebasegame/TerrarumIngame.kt index cd44d0342..ae72fb9c4 100644 --- a/src/net/torvald/terrarum/modulebasegame/TerrarumIngame.kt +++ b/src/net/torvald/terrarum/modulebasegame/TerrarumIngame.kt @@ -399,6 +399,8 @@ open class TerrarumIngame(batch: SpriteBatch) : IngameInstance(batch) { }// END enter override fun worldPrimaryClickStart(delta: Float) { + //println("[Ingame] worldPrimaryClickStart $delta") + // bring up the UIs of the fixtures (e.g. crafting menu from a crafting table) var uiOpened = false