aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/io
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/io')
-rw-r--r--src/main/java/io/polyfrost/oneconfig/hud/gui/HudGui.java43
-rw-r--r--src/main/java/io/polyfrost/oneconfig/hud/interfaces/BasicHud.java36
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