diff options
6 files changed, 20 insertions, 27 deletions
diff --git a/gradle.properties b/gradle.properties index ba16f0c..3cbc243 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,6 +1,6 @@ mod_name = OneConfig mod_id = oneconfig -mod_version = 0.1.0-alpha10 +mod_version = 0.1.0-alpha11 essential.defaults.loom=0 diff --git a/src/main/java/cc/polyfrost/oneconfig/gui/OneConfigGui.java b/src/main/java/cc/polyfrost/oneconfig/gui/OneConfigGui.java index c3ecb0c..c15940d 100644 --- a/src/main/java/cc/polyfrost/oneconfig/gui/OneConfigGui.java +++ b/src/main/java/cc/polyfrost/oneconfig/gui/OneConfigGui.java @@ -202,6 +202,7 @@ public class OneConfigGui extends UScreen { public void openPage(@NotNull Page page, Animation animation, boolean addToPrevious) { if (page == currentPage) return; currentPage.finishUpAndClose(); + textInputField.setInput(""); if (!page.isBase()) { boolean alreadyInParents = false; for (int i = 0; i < parents.size(); i++) { diff --git a/src/main/java/cc/polyfrost/oneconfig/gui/animations/ColorAnimation.java b/src/main/java/cc/polyfrost/oneconfig/gui/animations/ColorAnimation.java index 0c62443..8734c2c 100644 --- a/src/main/java/cc/polyfrost/oneconfig/gui/animations/ColorAnimation.java +++ b/src/main/java/cc/polyfrost/oneconfig/gui/animations/ColorAnimation.java @@ -3,8 +3,8 @@ package cc.polyfrost.oneconfig.gui.animations; import cc.polyfrost.oneconfig.utils.color.ColorPalette; public class ColorAnimation { - private int speed = 100; private ColorPalette palette; + private final int duration; /** * 0 = nothing * 1 = hovered @@ -17,14 +17,19 @@ public class ColorAnimation { private Animation blueAnimation; private Animation alphaAnimation; - public ColorAnimation(ColorPalette palette) { + public ColorAnimation(ColorPalette palette, int duration) { this.palette = palette; + this.duration = duration; redAnimation = new DummyAnimation(palette.getNormalColorf()[0]); greenAnimation = new DummyAnimation(palette.getNormalColorf()[1]); blueAnimation = new DummyAnimation(palette.getNormalColorf()[2]); alphaAnimation = new DummyAnimation(palette.getNormalColorf()[3]); } + public ColorAnimation(ColorPalette palette) { + this(palette, 100); + } + /** * Return the current color at the current time, according to a EaseInOut quadratic animation. * @@ -36,25 +41,15 @@ public class ColorAnimation { int state = pressed ? 2 : hovered ? 1 : 0; if (state != prevState) { float[] newColors = pressed ? palette.getPressedColorf() : hovered ? palette.getHoveredColorf() : palette.getNormalColorf(); - redAnimation = new EaseInOutQuad(speed, redAnimation.get(), newColors[0], false); - greenAnimation = new EaseInOutQuad(speed, greenAnimation.get(), newColors[1], false); - blueAnimation = new EaseInOutQuad(speed, blueAnimation.get(), newColors[2], false); - alphaAnimation = new EaseInOutQuad(speed, alphaAnimation.get(), newColors[3], false); + redAnimation = new EaseInOutQuad(duration, redAnimation.get(), newColors[0], false); + greenAnimation = new EaseInOutQuad(duration, greenAnimation.get(), newColors[1], false); + blueAnimation = new EaseInOutQuad(duration, blueAnimation.get(), newColors[2], false); + alphaAnimation = new EaseInOutQuad(duration, alphaAnimation.get(), newColors[3], false); prevState = state; } return ((int) (alphaAnimation.get() * 255) << 24) | ((int) (redAnimation.get() * 255) << 16) | ((int) (greenAnimation.get() * 255) << 8) | ((int) (blueAnimation.get() * 255)); } - /** Set the speed in milliseconds for the animation. */ - public void setSpeed(int speed) { - this.speed = speed; - } - - /** Get the speed in milliseconds for the animation. */ - public int getSpeed() { - return speed; - } - /** * Return the current alpha of the color. This method is used to get the alpha of pressed buttons that have text/icons on them, so they also darken accordingly. */ diff --git a/src/main/java/cc/polyfrost/oneconfig/gui/elements/ColorSelector.java b/src/main/java/cc/polyfrost/oneconfig/gui/elements/ColorSelector.java index 788e882..f331fd9 100644 --- a/src/main/java/cc/polyfrost/oneconfig/gui/elements/ColorSelector.java +++ b/src/main/java/cc/polyfrost/oneconfig/gui/elements/ColorSelector.java @@ -69,7 +69,7 @@ public class ColorSelector { saturationInput.setCurrentValue(color.getSaturation()); brightnessInput.setCurrentValue(color.getBrightness()); alphaInput.setCurrentValue(color.getAlpha() / 255f * 100f); - if(!hasAlpha) { + if (!hasAlpha) { bottomSlider.disabled = true; alphaInput.disabled = true; } @@ -196,16 +196,16 @@ public class ColorSelector { parseInputFields(); if (guideBtn.isClicked()) NetworkUtils.browseLink("https://www.youtube.com/watch?v=dQw4w9WgXcQ"); - // draw the color preview RenderManager.drawHollowRoundRect(vg, x + 15, y + 487, 384, 40, Colors.GRAY_300, 12f, 2f); RenderManager.drawRoundImage(vg, Images.ALPHA_GRID, x + 20, y + 492, 376, 32, 8f); RenderManager.drawRoundedRect(vg, x + 20, y + 492, 376, 32, color.getRGB(), 8f); + InputUtils.blockClicks(true); - if (closeBtn.isClicked()) { + if (closeBtn.isClicked() || Mouse.isButtonDown(0) && !mouseWasDown && !InputUtils.isAreaHovered(x - 3, y - 3, width + 6, height + 6)) OneConfigGui.INSTANCE.closeColorSelector(); - } ScissorManager.resetScissor(vg, scissor); + mouseWasDown = Mouse.isButtonDown(0); } private void drawColorSelector(long vg, int mode, int x, int y) { @@ -254,7 +254,6 @@ public class ColorSelector { boolean isMouseDown = Mouse.isButtonDown(0); boolean hovered = Mouse.isButtonDown(0) && InputUtils.isAreaHovered(x + 16, y + 120, 384, 288); if (hovered && isMouseDown && !mouseWasDown) dragging = true; - mouseWasDown = isMouseDown; switch (mode) { case 0: case 2: @@ -285,7 +284,6 @@ public class ColorSelector { hovered = squareDist < 144 * 144 && Mouse.isButtonDown(0); isMouseDown = Mouse.isButtonDown(0); if (hovered && isMouseDown && !mouseWasDown) dragging = true; - mouseWasDown = isMouseDown; int angle = 0; int saturation = color.getSaturation(); @@ -431,7 +429,7 @@ public class ColorSelector { @Override public void draw(long vg, int x, int y) { - if(!disabled) update(x, y); + if (!disabled) update(x, y); else RenderManager.setAlpha(vg, 0.5f); super.dragPointerSize = 15f; if (image != null) { diff --git a/src/main/java/cc/polyfrost/oneconfig/gui/pages/ModsPage.java b/src/main/java/cc/polyfrost/oneconfig/gui/pages/ModsPage.java index 10852ab..eff9b35 100644 --- a/src/main/java/cc/polyfrost/oneconfig/gui/pages/ModsPage.java +++ b/src/main/java/cc/polyfrost/oneconfig/gui/pages/ModsPage.java @@ -55,7 +55,7 @@ public class ModsPage extends Page { } } } - size = iY + 119; + size = iY - y + 135; if (iX == x + 16 && iY == y + 72) { RenderManager.drawText(vg, "Looks like there is nothing here. Try another category?", x + 16, y + 72, Colors.WHITE_60, 14f, Fonts.MEDIUM); } diff --git a/src/main/java/cc/polyfrost/oneconfig/gui/pages/Page.java b/src/main/java/cc/polyfrost/oneconfig/gui/pages/Page.java index fff9482..17f9498 100644 --- a/src/main/java/cc/polyfrost/oneconfig/gui/pages/Page.java +++ b/src/main/java/cc/polyfrost/oneconfig/gui/pages/Page.java @@ -17,14 +17,13 @@ import org.lwjgl.input.Mouse; public abstract class Page { protected final String title; protected Animation scrollAnimation; - private final ColorAnimation colorAnimation = new ColorAnimation(new ColorPalette(Colors.TRANSPARENT, Colors.GRAY_400_60, Colors.GRAY_400_60)); + private final ColorAnimation colorAnimation = new ColorAnimation(new ColorPalette(Colors.TRANSPARENT, Colors.GRAY_400_60, Colors.GRAY_400_60), 200); protected float scrollTarget; private long scrollTime; private boolean mouseWasDown, dragging; private float yStart; public Page(String title) { - colorAnimation.setSpeed(200); this.title = title; } |