package joshie.progression.gui.core; import joshie.progression.api.gui.IDrawHelper; import static joshie.progression.gui.core.GuiList.CORE; public abstract class FeatureAbstract implements IGuiFeature { protected IDrawHelper offset; protected IDrawHelper draw; // Variables used when drawing shizz protected int screenWidth; protected int guiHeight; private boolean isHidden; @Override public FeatureAbstract init() { offset = new DrawHelper(); draw = new DrawHelperOffset(); return this; } @Override public final void draw(int mouseX, int mouseY) { if (draw == null || offset == null) return; //Avoid crashes guiHeight = CORE.ySize; // Set that gui height screenWidth = CORE.screenWidth; // Mark the size of the screen drawFeature(mouseX, mouseY); // Draw the features } @Override public boolean mouseClicked(int mouseX, int mouseY, int button) { return false; } public abstract void drawFeature(int mouseX, int mouseY); @Override public boolean scroll(int mouseX, int mouseY, boolean scrolledDown) { return false; } @Override public void setVisibility(boolean value) { this.isHidden = !value; } @Override public boolean isVisible() { return !isHidden; } }