package pneumaticCraft.common.thirdparty.ic2;
import ic2.api.item.IC2Items;
import java.util.ArrayList;
import java.util.List;
import net.minecraft.client.resources.I18n;
import net.minecraft.entity.player.InventoryPlayer;
import net.minecraft.util.EnumChatFormatting;
import net.minecraftforge.common.util.ForgeDirection;
import pneumaticCraft.api.tileentity.IHeatExchanger;
import pneumaticCraft.client.gui.GuiPneumaticContainerBase;
import pneumaticCraft.client.gui.widget.GuiAnimatedStat;
import pneumaticCraft.client.gui.widget.WidgetTemperature;
import pneumaticCraft.lib.Textures;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
@SideOnly(Side.CLIENT)
public class GuiElectricCompressor extends GuiPneumaticContainerBase<TileEntityElectricCompressor>{
private GuiAnimatedStat inputStat;
public GuiElectricCompressor(InventoryPlayer player, TileEntityElectricCompressor te){
super(new ContainerElectricCompressor(player, te), te, Textures.GUI_4UPGRADE_SLOTS);
}
@Override
public void initGui(){
super.initGui();
inputStat = addAnimatedStat("Input", IC2Items.getItem("glassFiberCableItem"), 0xFF555555, false);
addWidget(new WidgetTemperature(0, guiLeft + 87, guiTop + 20, 273, 675, ((IHeatExchanger)te).getHeatExchangerLogic(ForgeDirection.UNKNOWN), 325, 625));
}
@Override
protected void drawGuiContainerForegroundLayer(int x, int y){
super.drawGuiContainerForegroundLayer(x, y);
fontRendererObj.drawString("Upgr.", 53, 19, 4210752);
}
@Override
public void updateScreen(){
super.updateScreen();
inputStat.setText(getOutputStat());
}
private List<String> getOutputStat(){
List<String> textList = new ArrayList<String>();
textList.add(EnumChatFormatting.GRAY + "Max power input:");
textList.add(EnumChatFormatting.BLACK.toString() + te.getMaxSafeInput() + " EU/tick");
return textList;
}
@Override
protected void addPressureStatInfo(List<String> pressureStatText){
super.addPressureStatInfo(pressureStatText);
pressureStatText.add("\u00a77Currently producing:");
pressureStatText.add("\u00a70" + te.lastEnergyProduction + " mL/tick.");
}
@Override
protected void addProblems(List<String> textList){
super.addProblems(textList);
if(te.outputTimer <= 0) {
textList.add(EnumChatFormatting.GRAY + "There is no EU input!");
textList.add(EnumChatFormatting.BLACK + "Add a (bigger) EU supply to the network.");
}
if(te.getEfficiency() < 100) {
textList.add(I18n.format("gui.tab.problems.advancedAirCompressor.efficiency", te.getEfficiency() + "%%"));
}
}
}