diff options
Diffstat (limited to 'src/main/java')
-rw-r--r-- | src/main/java/io/github/cottonmc/cotton/gui/widget/WButton.java | 27 |
1 files changed, 19 insertions, 8 deletions
diff --git a/src/main/java/io/github/cottonmc/cotton/gui/widget/WButton.java b/src/main/java/io/github/cottonmc/cotton/gui/widget/WButton.java index bfae32f..532dffb 100644 --- a/src/main/java/io/github/cottonmc/cotton/gui/widget/WButton.java +++ b/src/main/java/io/github/cottonmc/cotton/gui/widget/WButton.java @@ -11,6 +11,7 @@ public class WButton extends WWidget { private Text label; protected int color = WLabel.DEFAULT_TEXT_COLOR; protected int darkmodeColor = WLabel.DEFAULT_TEXT_COLOR; + private boolean active = true; private Runnable onClick; @@ -32,7 +33,8 @@ public class WButton extends WWidget { public void paintForeground(int x, int y, int mouseX, int mouseY) { boolean hovered = (mouseX>=x && mouseY>=y && mouseX<x+getWidth() && mouseY<y+getHeight()); int int_3 = 1; //1=regular. 2=hovered. 0=disabled. - if (hovered) int_3 = 2; + if (!active) int_3 = 0; + else if (hovered) int_3 = 2; float px = 1/256f; float buttonLeft = 0 * px; @@ -48,12 +50,11 @@ public class WButton extends WWidget { ScreenDrawing.rect(AbstractButtonWidget.WIDGETS_LOCATION, x+(getWidth()/2), y, getWidth()/2, 20, buttonEndLeft, buttonTop, 200*px, buttonTop+buttonHeight, 0xFFFFFFFF); if (label!=null) { - boolean active = true; - int color = 14737632; + int color = 0xE0E0E0; if (!active) { - color = 10526880; + color = 0xA0A0A0; } else if (hovered) { - color = 16777120; + color = 0xFFFFA0; } ScreenDrawing.drawCenteredWithShadow(label.asFormattedString(), x+(getWidth()/2), y + ((20 - 8) / 2), color); //LibGuiClient.config.darkMode ? darkmodeColor : color); @@ -68,12 +69,22 @@ public class WButton extends WWidget { public void onClick(int x, int y, int button) { super.onClick(x, y, button); - MinecraftClient.getInstance().getSoundManager().play(PositionedSoundInstance.master(SoundEvents.UI_BUTTON_CLICK, 1.0F)); - - if (onClick!=null) onClick.run(); + if (active) { + MinecraftClient.getInstance().getSoundManager().play(PositionedSoundInstance.master(SoundEvents.UI_BUTTON_CLICK, 1.0F)); + + if (onClick!=null) onClick.run(); + } } public void setOnClick(Runnable r) { this.onClick = r; } + + public boolean isActive() { + return active; + } + + public void setActive(boolean active) { + this.active = active; + } } |