From 0bcf09aef4eabb6a3c0ec7cc77e3e9596813c6fc Mon Sep 17 00:00:00 2001 From: noil Date: Tue, 5 Jan 2021 18:38:17 -0500 Subject: [PATCH] TrayComponent: Add colors --- .../api/gui/hud/component/ColorComponent.java | 16 +++++------ .../api/gui/hud/component/TextComponent.java | 26 ++++++++++++++---- .../impl/gui/hud/component/TrayComponent.java | 1 + .../textures/module-colors-enabled.png | Bin 0 -> 1960 bytes .../seppukumod/textures/module-colors.png | Bin 0 -> 1658 bytes 5 files changed, 29 insertions(+), 14 deletions(-) create mode 100644 src/main/resources/assets/seppukumod/textures/module-colors-enabled.png create mode 100644 src/main/resources/assets/seppukumod/textures/module-colors.png diff --git a/src/main/java/me/rigamortis/seppuku/api/gui/hud/component/ColorComponent.java b/src/main/java/me/rigamortis/seppuku/api/gui/hud/component/ColorComponent.java index 18c2648..a1ef297 100644 --- a/src/main/java/me/rigamortis/seppuku/api/gui/hud/component/ColorComponent.java +++ b/src/main/java/me/rigamortis/seppuku/api/gui/hud/component/ColorComponent.java @@ -21,7 +21,6 @@ public class ColorComponent extends TextComponent { private final Texture gearTexture; private final Texture gearTextureEnabled; - private final Texture checkTexture; public ColorComponent(String name, int defaultColor) { super(name, String.valueOf(defaultColor), false); @@ -29,7 +28,6 @@ public class ColorComponent extends TextComponent { this.displayValue = "#" + Integer.toHexString(this.currentColor.getRGB()).toLowerCase().substring(2); this.gearTexture = new Texture("gear_wheel.png"); this.gearTextureEnabled = new Texture("gear_wheel-enabled.png"); - this.checkTexture = new Texture("check.png"); this.setH(9); } @@ -77,10 +75,12 @@ public class ColorComponent extends TextComponent { RenderUtil.drawRect(blockX, blockY, blockX + blockWidth, blockY + blockHeight, 0xFFFFFFFF); // draw gear + RenderUtil.drawRect(this.getX() + this.getW() - 10, this.getY(), this.getX() + this.getW(), this.getY() + this.getH(), 0xFF101010); this.gearTextureEnabled.bind(); this.gearTextureEnabled.render(this.getX() + this.getW() - 9, this.getY() + 0.5f, 8, 8); // check + RenderUtil.drawRect(this.getX() + this.getW() - 20, this.getY(), this.getX() + this.getW() - 10, this.getY() + this.getH(), 0xFF101010); this.checkTexture.bind(); this.checkTexture.render(this.getX() + this.getW() - 19, this.getY() + 0.5f, 8, 8); @@ -107,15 +107,13 @@ public class ColorComponent extends TextComponent { public void mouseRelease(int mouseX, int mouseY, int button) { super.mouseRelease(mouseX, mouseY, button); - if (!this.focused || !this.isMouseInside(mouseX, mouseY)) // must be focused & inside + if (!this.focused) // must be focused return; - if (this.isMouseInside(mouseX, mouseY)) { - if (button == 0) { - // check for clicking check - if (mouseX >= this.getX() + this.getW() - 20 && mouseX <= this.getX() + this.getW() - 10 && mouseY >= this.getY() && mouseY <= this.getY() + this.getH()) { - this.enterPressed(); - } + if (button == 0) { + // check for clicking check + if (mouseX >= this.getX() + this.getW() - 20 && mouseX <= this.getX() + this.getW() - 10 && mouseY >= this.getY() && mouseY <= this.getY() + this.getH()) { + this.enterPressed(); } } } diff --git a/src/main/java/me/rigamortis/seppuku/api/gui/hud/component/TextComponent.java b/src/main/java/me/rigamortis/seppuku/api/gui/hud/component/TextComponent.java index ceff387..9b8b11b 100644 --- a/src/main/java/me/rigamortis/seppuku/api/gui/hud/component/TextComponent.java +++ b/src/main/java/me/rigamortis/seppuku/api/gui/hud/component/TextComponent.java @@ -1,5 +1,6 @@ package me.rigamortis.seppuku.api.gui.hud.component; +import me.rigamortis.seppuku.api.texture.Texture; import me.rigamortis.seppuku.api.util.RenderUtil; import me.rigamortis.seppuku.api.util.Timer; import net.minecraft.client.Minecraft; @@ -16,6 +17,8 @@ public class TextComponent extends HudComponent { public ComponentListener returnListener; public TextComponentListener textListener; + protected Texture checkTexture; + protected Timer backspaceTimer = new Timer(), backspaceWaitTimer = new Timer(); protected boolean doBackspacing = false; @@ -25,6 +28,8 @@ public class TextComponent extends HudComponent { this.displayValue = displayValue; this.focused = false; this.digitOnly = digitOnly; + + this.checkTexture = new Texture("check.png"); } @Override @@ -44,6 +49,11 @@ public class TextComponent extends HudComponent { int blockHeight = Minecraft.getMinecraft().fontRenderer.FONT_HEIGHT - 2; RenderUtil.drawRect(blockX, blockY, blockX + blockWidth, blockY + blockHeight, 0xFFFFFFFF); + // check + RenderUtil.drawRect(this.getX() + this.getW() - 10, this.getY(), this.getX() + this.getW(), this.getY() + this.getH(), 0xFF101010); + this.checkTexture.bind(); + this.checkTexture.render(this.getX() + this.getW() - 9, this.getY() + 0.5f, 8, 8); + if (Keyboard.isKeyDown(Keyboard.KEY_BACK) || Keyboard.isKeyDown(Keyboard.KEY_DELETE)) { if (this.doBackspacing && this.backspaceWaitTimer.passed(750)) { if (this.backspaceTimer.passed(75)) { @@ -63,12 +73,18 @@ public class TextComponent extends HudComponent { public void mouseRelease(int mouseX, int mouseY, int button) { super.mouseRelease(mouseX, mouseY, button); - if (!this.isMouseInside(mouseX, mouseY) || button != 0) { - this.focused = false; - return; - } + if (this.isMouseInside(mouseX, mouseY) && button == 0) { + this.focused = true; - this.focused = true; + // check for clicking check + if (!(this instanceof ColorComponent)) { + if (mouseX >= this.getX() + this.getW() - 10 && mouseX <= this.getX() + this.getW() && mouseY >= this.getY() && mouseY <= this.getY() + this.getH()) { + this.enterPressed(); + } + } + } else { + this.focused = false; + } } @Override diff --git a/src/main/java/me/rigamortis/seppuku/impl/gui/hud/component/TrayComponent.java b/src/main/java/me/rigamortis/seppuku/impl/gui/hud/component/TrayComponent.java index ed610c4..3e0336b 100644 --- a/src/main/java/me/rigamortis/seppuku/impl/gui/hud/component/TrayComponent.java +++ b/src/main/java/me/rigamortis/seppuku/impl/gui/hud/component/TrayComponent.java @@ -28,6 +28,7 @@ public class TrayComponent extends DraggableHudComponent { super("Tray"); buttons.add(new TrayButtonComponent("hub")); + buttons.add(new TrayButtonComponent("colors")); buttons.add(new TrayButtonComponent("combat")); buttons.add(new TrayButtonComponent("movement")); buttons.add(new TrayButtonComponent("render")); diff --git a/src/main/resources/assets/seppukumod/textures/module-colors-enabled.png b/src/main/resources/assets/seppukumod/textures/module-colors-enabled.png new file mode 100644 index 0000000000000000000000000000000000000000..055a3ea047ab77d95ff2dd2398dfc43b6cbb6b4b GIT binary patch literal 1960 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