package gory_moon.moarsigns.client.interfaces.sign.buttons;
import gory_moon.moarsigns.client.interfaces.GuiBase;
import gory_moon.moarsigns.client.interfaces.sign.GuiMoarSign;
import gory_moon.moarsigns.util.Localization;
import java.util.ArrayList;
public class ButtonTextShadow extends GuiButtonSpecial {
public int id;
public boolean hasShadow;
public ButtonTextShadow(int id, int x, int y, boolean hasShadow) {
super(x, y, 16, 16, hasShadow ? 224 : 240, 120);
this.id = id;
this.hasShadow = hasShadow;
}
@Override
public void drawButton(GuiBase gui, int mouseX, int mouseY) {
int srcX = hasShadow ? 224 : 240;
int buttonType = isDisabled ? srcY + h * 2 : !gui.isOnOverlay(mouseX, mouseY) && inRect(mouseX, mouseY) ? srcY + h : srcY;
super.draw(gui, srcX, buttonType);
}
@Override
public String getButtonInfo(GuiBase gui) {
return Localization.GUI.BUTTONS.TEXT_SHADOW.translateTitles(hasShadow ? "1" : "0") + newLine + Localization.GUI.BUTTONS.TEXT_SHADOW.translateDescriptions(hasShadow ? "1" : "0");
}
@Override
public void action(GuiBase gui) {
GuiMoarSign guiM = ((GuiMoarSign) gui);
setShadow(gui, !hasShadow);
ArrayList<Integer> ids = new ArrayList<Integer>();
if (guiM.buttonLock.getState()) {
for (GuiButton next : guiM.textButtons) {
if (next instanceof ButtonTextShadow) {
int nextID = ((ButtonTextShadow) next).id;
if (!ids.contains(nextID)) {
ids.add(nextID);
((ButtonTextShadow) next).setShadow(gui, hasShadow);
}
}
}
}
}
public void setShadow(GuiBase gui, boolean shadow) {
GuiMoarSign guiM = ((GuiMoarSign) gui);
guiM.shadowRows[id] = hasShadow = shadow;
}
}