package buildcraftAdditions.client.gui;
import buildcraftAdditions.client.gui.widgets.WidgetBase;
import buildcraftAdditions.client.gui.widgets.WidgetButtonUpdate;
import buildcraftAdditions.client.gui.widgets.WidgetFluidTank;
import buildcraftAdditions.inventories.containers.ContainerFluidicCompressor;
import buildcraftAdditions.networking.MessageWidgetUpdate;
import buildcraftAdditions.networking.PacketHandler;
import buildcraftAdditions.tileEntities.TileFluidicCompressor;
import buildcraftAdditions.utils.Utils;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.util.ResourceLocation;
import java.util.List;
/**
* Copyright (c) 2014-2015, AEnterprise
* http://buildcraftadditions.wordpress.com/
* Buildcraft Additions is distributed under the terms of GNU GPL v3.0
* Please check the contents of the license located in
* http://buildcraftadditions.wordpress.com/wiki/licensing-stuff/
*/
@SideOnly(Side.CLIENT)
public class GuiFluidicCompressor extends GuiInventory<TileFluidicCompressor> {
private static final ResourceLocation texture = new ResourceLocation("bcadditions", "textures/gui/guiFluidicCompressor.png");
public GuiFluidicCompressor(EntityPlayer player, TileFluidicCompressor fluidicCompressor) {
super(new ContainerFluidicCompressor(player, fluidicCompressor), fluidicCompressor);
setDrawPlayerInv(true);
}
@Override
public void drawBackgroundPreWidgets(float f, int x, int y) {
drawTexturedModalRect(guiLeft + 86, guiTop + 61, 172, 3, inventory.getProgress() + 3, 4);
}
@Override
public ResourceLocation texture() {
return texture;
}
@Override
public int getXSize() {
return 176;
}
@Override
public int getYSize() {
return 85;
}
@Override
public String getInventoryName() {
return "fluidicCompressor";
}
@Override
public void initialize() {
addWidget(new WidgetFluidTank(0, guiLeft + 53, guiTop + 24, 16, 51, this, inventory.tank));
WidgetButtonUpdate buttonFill = new WidgetButtonUpdate(1, guiLeft + 20, guiTop + 33, 191, 0, 19, 16, this, texture) {
@Override
public void addTooltip(int mouseX, int mouseY, List<String> tooltips, boolean shift) {
tooltips.add(Utils.localize("tooltip.compressor.fill"));
}
};
buttonFill.setActive(inventory.fill);
WidgetButtonUpdate buttonEmpty = new WidgetButtonUpdate(2, guiLeft + 20, guiTop + 53, 210, 0, 19, 16, this, texture) {
@Override
public void addTooltip(int mouseX, int mouseY, List<String> tooltips, boolean shift) {
tooltips.add(Utils.localize("tooltip.compressor.empty"));
}
};
buttonEmpty.setActive(!inventory.fill);
addWidget(buttonFill);
addWidget(buttonEmpty);
}
@Override
public void widgetActionPerformed(WidgetBase widget) {
if (widget.id == 1) {
((WidgetButtonUpdate) widgets.get(2)).setActive(false);
inventory.fill = true;
PacketHandler.instance.sendToServer(new MessageWidgetUpdate(inventory, widget.id, 1));
} else if (widget.id == 2) {
((WidgetButtonUpdate) widgets.get(1)).setActive(false);
inventory.fill = false;
PacketHandler.instance.sendToServer(new MessageWidgetUpdate(inventory, widget.id, 0));
}
}
}