package mekanism.client.gui.element; import static java.lang.Math.min; import mekanism.api.transmitters.TransmissionType; import mekanism.client.gui.IGuiWrapper; import net.minecraft.util.IIcon; import net.minecraft.util.ResourceLocation; public class GuiNumberGauge extends GuiGauge { INumberInfoHandler infoHandler; public GuiNumberGauge(INumberInfoHandler handler, Type type, IGuiWrapper gui, ResourceLocation def, int x, int y) { super(type, gui, def, x, y); infoHandler = handler; } @Override public TransmissionType getTransmission() { return null; } @Override public int getScaledLevel() { return (int)((height-2) * min(infoHandler.getLevel() / infoHandler.getMaxLevel(), 1)); } @Override public IIcon getIcon() { return infoHandler.getIcon(); } @Override public String getTooltipText() { return infoHandler.getText(infoHandler.getLevel()); } public static interface INumberInfoHandler { public IIcon getIcon(); public double getLevel(); public double getMaxLevel(); public String getText(double level); } }