package micdoodle8.mods.galacticraft.core.client.gui.container;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import micdoodle8.mods.galacticraft.core.GalacticraftCore;
import micdoodle8.mods.galacticraft.core.client.gui.element.GuiElementInfoRegion;
import micdoodle8.mods.galacticraft.core.energy.EnergyDisplayHelper;
import micdoodle8.mods.galacticraft.core.inventory.ContainerElectricIngotCompressor;
import micdoodle8.mods.galacticraft.core.tile.TileEntityElectricIngotCompressor;
import micdoodle8.mods.galacticraft.core.util.EnumColor;
import micdoodle8.mods.galacticraft.core.util.GCCoreUtil;
import net.minecraft.entity.player.InventoryPlayer;
import net.minecraft.util.ResourceLocation;
import org.lwjgl.opengl.GL11;
import java.util.ArrayList;
import java.util.List;
@SideOnly(Side.CLIENT)
public class GuiElectricIngotCompressor extends GuiContainerGC
{
private static final ResourceLocation electricFurnaceTexture = new ResourceLocation(GalacticraftCore.ASSET_PREFIX, "textures/gui/electric_IngotCompressor.png");
private TileEntityElectricIngotCompressor tileEntity;
private GuiElementInfoRegion electricInfoRegion = new GuiElementInfoRegion(0, 0, 56, 9, null, 0, 0, this);
private GuiElementInfoRegion processInfoRegion = new GuiElementInfoRegion(0, 0, 52, 25, null, 0, 0, this);
public GuiElectricIngotCompressor(InventoryPlayer par1InventoryPlayer, TileEntityElectricIngotCompressor tileEntity)
{
super(new ContainerElectricIngotCompressor(par1InventoryPlayer, tileEntity));
this.tileEntity = tileEntity;
this.ySize = 199;
}
@Override
public void initGui()
{
super.initGui();
this.electricInfoRegion.tooltipStrings = new ArrayList<String>();
this.electricInfoRegion.xPosition = (this.width - this.xSize) / 2 + 17;
this.electricInfoRegion.yPosition = (this.height - this.ySize) / 2 + 95;
this.electricInfoRegion.parentWidth = this.width;
this.electricInfoRegion.parentHeight = this.height;
this.infoRegions.add(this.electricInfoRegion);
List<String> batterySlotDesc = new ArrayList<String>();
batterySlotDesc.add(GCCoreUtil.translate("gui.batterySlot.desc.0"));
batterySlotDesc.add(GCCoreUtil.translate("gui.batterySlot.desc.1"));
this.infoRegions.add(new GuiElementInfoRegion((this.width - this.xSize) / 2 + 54, (this.height - this.ySize) / 2 + 74, 18, 18, batterySlotDesc, this.width, this.height, this));
this.processInfoRegion.tooltipStrings = new ArrayList<String>();
this.processInfoRegion.xPosition = (this.width - this.xSize) / 2 + 77;
this.processInfoRegion.yPosition = (this.height - this.ySize) / 2 + 30;
this.processInfoRegion.parentWidth = this.width;
this.processInfoRegion.parentHeight = this.height;
this.infoRegions.add(this.processInfoRegion);
}
@Override
protected void drawGuiContainerForegroundLayer(int par1, int par2)
{
this.fontRendererObj.drawString(this.tileEntity.getInventoryName(), 10, 6, 4210752);
String displayText;
if (this.tileEntity.processTicks > 0)
{
displayText = EnumColor.BRIGHT_GREEN + GCCoreUtil.translate("gui.status.running.name");
}
else
{
displayText = EnumColor.ORANGE + GCCoreUtil.translate("gui.status.idle.name");
}
String str = GCCoreUtil.translate("gui.message.status.name") + ": " + displayText;
this.fontRendererObj.drawString(str, 120 - this.fontRendererObj.getStringWidth(str) / 2, 75, 4210752);
this.fontRendererObj.drawString(GCCoreUtil.translate("container.inventory"), 8, this.ySize - 93, 4210752);
// str = "" + this.tileEntity.storage.getMaxExtract();
// this.fontRendererObj.drawString(str, 120 - this.fontRendererObj.getStringWidth(str) / 2, 85, 4210752);
// // str = ElectricityDisplay.getDisplay(this.tileEntity.getVoltage(), ElectricUnit.VOLTAGE);
// this.fontRendererObj.drawString(str, 120 - this.fontRendererObj.getStringWidth(str) / 2, 95, 4210752);
}
/**
* Draw the background layer for the GuiContainer (everything behind the
* items)
*/
@Override
protected void drawGuiContainerBackgroundLayer(float par1, int par2, int par3)
{
this.mc.renderEngine.bindTexture(GuiElectricIngotCompressor.electricFurnaceTexture);
GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
int containerWidth = (this.width - this.xSize) / 2;
int containerHeight = (this.height - this.ySize) / 2;
this.drawTexturedModalRect(containerWidth, containerHeight, 0, 0, this.xSize, this.ySize);
int scale;
List<String> electricityDesc = new ArrayList<String>();
electricityDesc.add(GCCoreUtil.translate("gui.energyStorage.desc.0"));
EnergyDisplayHelper.getEnergyDisplayTooltip(this.tileEntity.getEnergyStoredGC(), this.tileEntity.getMaxEnergyStoredGC(), electricityDesc);
this.electricInfoRegion.tooltipStrings = electricityDesc;
if (this.tileEntity.processTicks > 0)
{
scale = (int) ((double) this.tileEntity.processTicks / (double) this.tileEntity.processTimeRequired * 100);
}
else
{
scale = 0;
}
List<String> processDesc = new ArrayList<String>();
processDesc.clear();
processDesc.add(GCCoreUtil.translate("gui.electricCompressor.desc.0") + ": " + scale + "%");
this.processInfoRegion.tooltipStrings = processDesc;
if (this.tileEntity.processTicks > 0)
{
scale = (int) ((double) this.tileEntity.processTicks / (double) this.tileEntity.processTimeRequired * 54);
this.drawTexturedModalRect(containerWidth + 77, containerHeight + 38, 176, 13, scale, 17);
}
if (this.tileEntity.getEnergyStoredGC() > 0)
{
scale = this.tileEntity.getScaledElecticalLevel(54);
this.drawTexturedModalRect(containerWidth + 116 - 98, containerHeight + 96, 176, 30, scale, 7);
this.drawTexturedModalRect(containerWidth + 4, containerHeight + 95, 176, 37, 11, 10);
}
if (this.tileEntity.processTicks > this.tileEntity.processTimeRequired / 2)
{
this.drawTexturedModalRect(containerWidth + 101, containerHeight + 30, 176, 0, 15, 13);
}
}
}