From a3845ef537e06058656dcabf26896392d315959f Mon Sep 17 00:00:00 2001 From: Valerie Date: Mon, 30 May 2022 16:28:14 -0400 Subject: [PATCH] dont try to build when hovered on ui elements lol --- .../gameobjects/inputlayer/BuildLayer.java | 12 ++++----- .../hadean/gameobjects/tabs/BuildTab.java | 26 ++++++++++++++++++- 2 files changed, 31 insertions(+), 7 deletions(-) diff --git a/src/main/java/xyz/valnet/hadean/gameobjects/inputlayer/BuildLayer.java b/src/main/java/xyz/valnet/hadean/gameobjects/inputlayer/BuildLayer.java index 00d90fa..bca006d 100644 --- a/src/main/java/xyz/valnet/hadean/gameobjects/inputlayer/BuildLayer.java +++ b/src/main/java/xyz/valnet/hadean/gameobjects/inputlayer/BuildLayer.java @@ -11,6 +11,8 @@ import xyz.valnet.hadean.util.Layers; public class BuildLayer extends GameObject implements IMouseCaptureArea { + private boolean hovered = false; + private Camera camera; private boolean active = false; @@ -46,14 +48,12 @@ public class BuildLayer extends GameObject implements IMouseCaptureArea { @Override public void mouseEnter() { - // TODO Auto-generated method stub - + hovered = true; } @Override public void mouseLeave() { - // TODO Auto-generated method stub - + hovered = false; } private float x, y; @@ -61,10 +61,10 @@ public class BuildLayer extends GameObject implements IMouseCaptureArea { @Override public void mouseDown(int button) { - if(button == 1 && active) { + if(button == 1 && active && hovered) { listener.cancel(); deactiveate(); - } else if(button == 0 && active) { + } else if(button == 0 && active && hovered) { Vector2f worldcoords = camera.screen2world(App.mouseX, App.mouseY); mouseDown = true; x = worldcoords.x; diff --git a/src/main/java/xyz/valnet/hadean/gameobjects/tabs/BuildTab.java b/src/main/java/xyz/valnet/hadean/gameobjects/tabs/BuildTab.java index 6819580..bc73c1a 100644 --- a/src/main/java/xyz/valnet/hadean/gameobjects/tabs/BuildTab.java +++ b/src/main/java/xyz/valnet/hadean/gameobjects/tabs/BuildTab.java @@ -7,6 +7,7 @@ import java.util.List; import xyz.valnet.engine.graphics.Drawing; import xyz.valnet.engine.math.Vector4f; +import xyz.valnet.engine.scenegraph.IMouseCaptureArea; import xyz.valnet.hadean.gameobjects.BottomBar; import xyz.valnet.hadean.gameobjects.Camera; import xyz.valnet.hadean.gameobjects.Stockpile; @@ -21,7 +22,7 @@ import xyz.valnet.hadean.util.Assets; import xyz.valnet.hadean.util.Layers; import xyz.valnet.hadean.util.SmartBoolean; -public class BuildTab extends Tab implements ISelectionChangeListener { +public class BuildTab extends Tab implements ISelectionChangeListener, IMouseCaptureArea { private Selection selection; private BuildLayer buildLayer; @@ -124,4 +125,27 @@ public class BuildTab extends Tab implements ISelectionChangeListener { public String getTabName() { return "Build"; } + + @Override + public void mouseEnter() {} + + @Override + public void mouseLeave() {} + + @Override + public void mouseDown(int button) {} + + @Override + public void mouseUp(int button) {} + + @Override + public Vector4f getBox() { + float left = lerp(-width - padding, padding, progress); + return new Vector4f((int) left, padding, (int) width, 576 - padding * 2 - BottomBar.bottomBarHeight); + } + + @Override + public int getLayer() { + return Layers.GENERAL_UI; + } }