diff options
Diffstat (limited to 'src/main/java')
-rw-r--r-- | src/main/java/io/polyfrost/oneconfig/hud/gui/HudGui.java | 43 | ||||
-rw-r--r-- | src/main/java/io/polyfrost/oneconfig/hud/interfaces/BasicHud.java | 36 |
2 files changed, 36 insertions, 43 deletions
diff --git a/src/main/java/io/polyfrost/oneconfig/hud/gui/HudGui.java b/src/main/java/io/polyfrost/oneconfig/hud/gui/HudGui.java index 7620a26..36381f5 100644 --- a/src/main/java/io/polyfrost/oneconfig/hud/gui/HudGui.java +++ b/src/main/java/io/polyfrost/oneconfig/hud/gui/HudGui.java @@ -27,8 +27,8 @@ public class HudGui extends GuiScreen { HudCore.editing = true; Keyboard.enableRepeatEvents(true); for (BasicHud hud : HudCore.huds) { - hud.childRight = new TestHud(); - hud.childRight.parent = hud; + hud.childBottom = new TestHud(); + hud.childBottom.parent = hud; } } @@ -47,8 +47,10 @@ public class HudGui extends GuiScreen { float pos = getXSnapping(mouseX, true); float newWidth = pos - xFloat; float newScale = newWidth / ((hud.getWidth(hud.scale) + hud.paddingX * hud.scale) / hud.scale); - if (newScale > 20) newScale = 20; - else if (newScale < 0.3) newScale = 0.3f; + if (newScale > 20) + newScale = 20; + else if (newScale < 0.3) + newScale = 0.3f; hud.scale = newScale; if (xFloat / this.width > 0.5) @@ -57,8 +59,8 @@ public class HudGui extends GuiScreen { editingHud.yUnscaled = (yFloat + (hud.getHeight(hud.scale) + hud.paddingY * hud.scale)) / (double) this.height; } - int width = (int) (hud.getTotalWidth(hud.scale) + hud.paddingX * hud.scale); - int height = (int) (hud.getTotalHeight(hud.scale) + hud.paddingY * hud.scale); + int width = (int) (hud.getWidth(hud.scale) + hud.paddingX * hud.scale); + int height = (int) (hud.getHeight(hud.scale) + hud.paddingY * hud.scale); int x = (int) hud.getXScaled(this.width); int y = (int) hud.getYScaled(this.height); @@ -66,7 +68,8 @@ public class HudGui extends GuiScreen { int color = new Color(215, 224, 235).getRGB(); if (editingHud == hud) { color = new Color(43, 159, 235).getRGB(); - if (isDragging) Gui.drawRect(x, y, x + width, y + height, new Color(108, 176, 255, 60).getRGB()); + if (isDragging) + Gui.drawRect(x, y, x + width, y + height, new Color(108, 176, 255, 60).getRGB()); } Renderer.drawLine(x - 2 / 4f, y, x + width + 2 / 4f, y, 2, color); Renderer.drawLine(x, y, x, y + height, 2, color); @@ -84,20 +87,28 @@ public class HudGui extends GuiScreen { float width = editingHud.getWidth(editingHud.scale) + editingHud.paddingX * editingHud.scale; float height = editingHud.getHeight(editingHud.scale) + editingHud.paddingY * editingHud.scale; - if (newX < 0) newX = 0; - else if (newX + width > this.width) newX = this.width - width; - if (newY < 0) newY = 0; - else if (newY + height > this.height) newY = this.height - height; + if (newX < 0) + newX = 0; + else if (newX + width > this.width) + newX = this.width - width; + if (newY < 0) + newY = 0; + else if (newY + height > this.height) + newY = this.height - height; if (snap) { newX = getXSnapping(newX, false); newY = getYSnapping(newY); } - if (newX / this.width <= 0.5) editingHud.xUnscaled = newX / (double) this.width; - else editingHud.xUnscaled = (newX + width) / (double) this.width; - if (newY / this.height <= 0.5) editingHud.yUnscaled = newY / (double) this.height; - else editingHud.yUnscaled = (newY + height) / (double) this.height; + if (newX / this.width <= 0.5) + editingHud.xUnscaled = newX / (double) this.width; + else + editingHud.xUnscaled = (newX + width) / (double) this.width; + if (newY / this.height <= 0.5) + editingHud.yUnscaled = newY / (double) this.height; + else + editingHud.yUnscaled = (newY + height) / (double) this.height; } private float getXSnapping(float pos, boolean rightOnly) { @@ -231,4 +242,4 @@ public class HudGui extends GuiScreen { public boolean doesGuiPauseGame() { return false; } -} +}
\ No newline at end of file diff --git a/src/main/java/io/polyfrost/oneconfig/hud/interfaces/BasicHud.java b/src/main/java/io/polyfrost/oneconfig/hud/interfaces/BasicHud.java index cce2440..dfd7983 100644 --- a/src/main/java/io/polyfrost/oneconfig/hud/interfaces/BasicHud.java +++ b/src/main/java/io/polyfrost/oneconfig/hud/interfaces/BasicHud.java @@ -12,11 +12,9 @@ public abstract class BasicHud { public int paddingY = 5; public boolean background = true; public boolean rounded = false; - public BasicHud childLeft; + public BasicHud parent; public BasicHud childRight; public BasicHud childBottom; - public BasicHud childTop; - public BasicHud parent; public abstract int getWidth(float scale); @@ -33,29 +31,23 @@ public abstract class BasicHud { } public void drawAll(float x, float y, float scale) { - if (parent == null) drawBackground(x, y, scale); + drawBackground(x, y, getWidth(scale), getHeight(scale), scale); draw((int) (x + paddingX * scale / 2f), (int) (y + paddingY * scale / 2f), scale); - if (childLeft != null) - childLeft.drawAll((int) (x + paddingX * scale / 2f) - childRight.getWidth(scale), (int) (y + paddingY * scale / 2f), scale); - if (childRight != null) - childRight.drawAll((int) (x + paddingX * scale / 2f) + getWidth(scale), (int) (y + paddingY * scale / 2f), scale); } public void drawExampleAll(float x, float y, float scale) { - if (parent == null) drawBackground(x, y, scale); + drawBackground(x, y, getExampleWidth(scale), getExampleHeight(scale), scale); drawExample((int) (x + paddingX * scale / 2f), (int) (y + paddingY * scale / 2f), scale); - if (childLeft != null) - childLeft.drawExampleAll((int) (x + paddingX * scale / 2f) - childRight.getWidth(scale), (int) (y + paddingY * scale / 2f), scale); - if (childRight != null) - childRight.drawExampleAll((int) (x + paddingX * scale / 2f) + getWidth(scale), (int) (y + paddingY * scale / 2f), scale); } public void drawExample(int x, int y, float scale) { draw(x, y, scale); } - private void drawBackground(float x, float y, float scale) { - Renderer.drawRoundRect((int) x, (int) y, (int) (getTotalWidth(scale) + paddingX * scale), (int) (getTotalHeight(scale) + paddingY * scale), (int) (2 * scale), new Color(0, 0, 0, 120).getRGB()); + private void drawBackground(float x, float y, float width, float height, float scale) { + Renderer.drawRoundRect((int) x, (int) y, + (int) (width + paddingX * scale), (int) (height + paddingY * scale), + (int) (2 * scale), new Color(0, 0, 0, 120).getRGB()); } public float getXScaled(int screenWidth) { @@ -72,17 +64,7 @@ public abstract class BasicHud { return (float) (screenHeight - (1d - yUnscaled) * screenHeight - (getHeight(scale) + paddingY * scale)); } - public int getTotalWidth(float scale) { - int width = getWidth(scale); - if (childLeft != null) width += childLeft.getWidth(scale); - if (childRight != null) width += childRight.getWidth(scale); - return width; - } + public float getTotalWidth(float scale) { - public int getTotalHeight(float scale) { - int height = getHeight(scale); - if (childBottom != null) height += childBottom.getHeight(scale); - if (childTop != null) height += childTop.getHeight(scale); - return height; } -} +}
\ No newline at end of file |