package mods.eln.transparentnode.solarpanel;
import mods.eln.gui.GuiContainerEln;
import mods.eln.gui.GuiHelperContainer;
import mods.eln.gui.GuiVerticalTrackBar;
import mods.eln.gui.IGuiObject;
import mods.eln.node.transparent.TransparentNodeElementInventory;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.inventory.IInventory;
import static mods.eln.i18n.I18N.tr;
public class SolarPannelGuiDraw extends GuiContainerEln {
private TransparentNodeElementInventory inventory;
SolarPanelRender render;
GuiVerticalTrackBar vuMeterTemperature;
public SolarPannelGuiDraw(EntityPlayer player, IInventory inventory, SolarPanelRender render) {
super(new SolarPanelContainer(null, player, inventory));
this.inventory = (TransparentNodeElementInventory) inventory;
this.render = render;
}
public void initGui() {
super.initGui();
vuMeterTemperature = newGuiVerticalTrackBar(176 / 2 + 12, 8, 20, 69);
vuMeterTemperature.setStepIdMax(181);
vuMeterTemperature.setEnable(true);
vuMeterTemperature.setRange((float) render.descriptor.alphaMin, (float) render.descriptor.alphaMax);
syncVumeter();
}
public void syncVumeter() {
vuMeterTemperature.setValue(render.pannelAlphaSyncValue);
render.pannelAlphaSyncNew = false;
}
@Override
public void guiObjectEvent(IGuiObject object) {
super.guiObjectEvent(object);
if (vuMeterTemperature == object) {
render.clientSetPannelAlpha(vuMeterTemperature.getValue());
}
}
@Override
protected void preDraw(float f, int x, int y) {
super.preDraw(f, x, y);
if (render.pannelAlphaSyncNew) syncVumeter();
//vuMeterTemperature.temperatureHit = (float) (SolarPannelSlowProcess.getSolarAlpha(render.tileEntity.worldObj));
vuMeterTemperature.setEnable(!render.hasTracker);
int sunAlpha = ((int) (180 / Math.PI * SolarPannelSlowProcess.getSolarAlpha(render.tileEntity.getWorldObj())) - 90);
vuMeterTemperature.setComment(0, tr("Solar panel angle: %1$°", ((int) (180 / Math.PI * vuMeterTemperature.getValue()) - 90)));
if (Math.abs(sunAlpha) > 90)
vuMeterTemperature.setComment(1, tr("It is night"));
else
vuMeterTemperature.setComment(1, tr("Sun angle: %1$°", sunAlpha));
}
@Override
protected void postDraw(float f, int x, int y) {
super.postDraw(f, x, y);
//drawString(8, 6,"Alpha " + render.pannelAlphaSyncNew);
}
@Override
protected GuiHelperContainer newHelper() {
return new GuiHelperContainer(this, 176, 166, 8, 84);
}
}