From e56ea0dc5cd14c0c13361704b6fd1033e57c7d94 Mon Sep 17 00:00:00 2001 From: minjaesong Date: Sun, 5 Dec 2021 14:42:36 +0900 Subject: [PATCH] range check for fixtures with UI; fixture UI is centred now --- .../gameactors/FixtureHomeComputer.kt | 2 ++ assets/mods/dwarventech/ModuleComputers.jar | Bin 456293 -> 456239 bytes .../torvald/terrarum/gameitems/GameItem.kt | 5 ++++ .../terrarum/modulebasegame/TerrarumIngame.kt | 26 ++++++++++-------- 4 files changed, 22 insertions(+), 11 deletions(-) diff --git a/ModuleComputers/src/net/torvald/terrarum/modulecomputers/gameactors/FixtureHomeComputer.kt b/ModuleComputers/src/net/torvald/terrarum/modulecomputers/gameactors/FixtureHomeComputer.kt index d407728cc..4338f359f 100644 --- a/ModuleComputers/src/net/torvald/terrarum/modulecomputers/gameactors/FixtureHomeComputer.kt +++ b/ModuleComputers/src/net/torvald/terrarum/modulecomputers/gameactors/FixtureHomeComputer.kt @@ -114,6 +114,8 @@ internal class UIHomeComputer : UICanvas( otherBatch.end() fbo.inAction(camera, batch) { + Gdx.gl.glClearColor(0f,0f,0f,1f) // to hide the crap might be there + (vm.peripheralTable[1].peripheral as? GraphicsAdapter)?.let { gpu -> val clearCol = gpu.getBackgroundColour() Gdx.gl.glClearColor(clearCol.r, clearCol.g, clearCol.b, clearCol.a) diff --git a/assets/mods/dwarventech/ModuleComputers.jar b/assets/mods/dwarventech/ModuleComputers.jar index 354e09fd7c04b9615f25017533156c052f2040d4..3d5b18cc6671307f1608354e2793ac6be4b5324c 100644 GIT binary patch delta 8716 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 Umu2`K2#H)lED>j41m21N2c^e_t^fc4 delta 8517 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 diff --git a/src/net/torvald/terrarum/gameitems/GameItem.kt b/src/net/torvald/terrarum/gameitems/GameItem.kt index ce6a16565..0423f30f4 100644 --- a/src/net/torvald/terrarum/gameitems/GameItem.kt +++ b/src/net/torvald/terrarum/gameitems/GameItem.kt @@ -323,6 +323,11 @@ abstract class GameItem(val originalID: ItemID) : Comparable, Cloneabl } } } + +/** + * @param actor actor to check the reach + * @param action returns true if the action was successfully performed + */ fun inInteractableRange(actor: ActorWithBody, action: () -> Boolean): Boolean { val mousePos1 = Vector2(Terrarum.mouseX, Terrarum.mouseY) val mousePos2 = Vector2(Terrarum.mouseX + INGAME.world.width * TILE_SIZED, Terrarum.mouseY) diff --git a/src/net/torvald/terrarum/modulebasegame/TerrarumIngame.kt b/src/net/torvald/terrarum/modulebasegame/TerrarumIngame.kt index 783d3ead0..c05f0bda2 100644 --- a/src/net/torvald/terrarum/modulebasegame/TerrarumIngame.kt +++ b/src/net/torvald/terrarum/modulebasegame/TerrarumIngame.kt @@ -602,18 +602,22 @@ open class TerrarumIngame(batch: SpriteBatch) : IngameInstance(batch) { // what if there's multiple of such fixtures? whatever, you are supposed to DISALLOW such situation. if (itemOnGrip?.inventoryCategory != GameItem.Category.TOOL) { // don't open the UI when player's holding a tool for (kk in actorsUnderMouse.indices) { - actorsUnderMouse[kk].mainUI?.let { - uiOpened = true + if (inInteractableRange(actor) { + actorsUnderMouse[kk].mainUI?.let { + uiOpened = true - // property 'uiFixture' is a dedicated property that the TerrarumIngame recognises. - // when it's not null, the UI will be updated and rendered - // when the UI is closed, it'll be replaced with a null value - uiFixture = it - - it.setPosition(0, 0) - it.setAsOpen() - } - break + // property 'uiFixture' is a dedicated property that the TerrarumIngame recognises. + // when it's not null, the UI will be updated and rendered + // when the UI is closed, it'll be replaced with a null value + uiFixture = it + it.setPosition( + (Toolkit.drawWidth - it.width) / 4, + (App.scr.height - it.height) / 4 // what the fuck? + ) + it.setAsOpen() + } + true + }) break } }