package joshie.progression.gui.editors;
import joshie.progression.gui.core.FeatureAbstract;
import net.minecraft.client.gui.ScaledResolution;
import net.minecraft.client.renderer.GlStateManager;
import org.lwjgl.opengl.GL11;
import static joshie.progression.gui.core.GuiList.*;
public abstract class FeatureTemplateAbstract extends FeatureAbstract {
private String search = "";
public FeatureTemplateAbstract() {
setVisibility(false);
}
public void setVisible() {
TEMPLATE_SELECTOR_TAB.setVisibility(false);
TEMPLATE_SELECTOR_CRITERIA.setVisibility(false);
setVisibility(true);
}
@Override
public boolean isOverlay() {
return true;
}
protected boolean isMouseOver(int mouseX, int mouseY, int j, int k) {
if (mouseX >= 32 + (j * 16) && mouseX <= 32 + (j * 16) + 16) {
if (mouseY >= 45 + (k * 16) && mouseY <= 45 + (k * 16) + 16) {
return true;
}
}
return false;
}
@Override
public boolean mouseClicked(int mouseX, int mouseY, int button) {
int width = (int) ((double) (screenWidth - 75) / 16.133333334D);
if (clickForeground(mouseX, mouseY, width)) return true;
setVisibility(false);
return false;
}
protected abstract boolean clickForeground(int mouseX, int mouseY, int width);
@Override
public void drawFeature(int mouseX, int mouseY) {
GlStateManager.clear(GL11.GL_DEPTH_BUFFER_BIT);
int offsetX = CORE.getOffsetX();
ScaledResolution res = CORE.res;
CORE.drawGradientRectWithBorder(30, 20, res.getScaledWidth() - 30, 40, THEME.blackBarGradient1, THEME.blackBarGradient2, THEME.blackBarBorder);
CORE.drawRectWithBorder(30, 40, res.getScaledWidth() - 30, 210, THEME.blackBarUnderLine, THEME.blackBarUnderLineBorder);
CORE.mc.fontRendererObj.drawString("Select a Template - Click Elsewhere to close", 35 - offsetX, CORE.screenTop + 27, THEME.blackBarFontColor);
drawForeground(mouseX, mouseY, (int)((double) (screenWidth - 75) / 16.133333334D));
}
protected abstract void drawForeground(int mouseX, int mouseY, int width);
}