From 05c78126859231a68e199dc34613689bd0978e2f Mon Sep 17 00:00:00 2001 From: Foghrye4 Date: Mon, 11 Apr 2016 19:44:54 +0300 Subject: Initial commit --- ihl/datanet/RedstoneSignalConverterGui.java | 141 ++++++++++++++++++++++++++++ 1 file changed, 141 insertions(+) create mode 100644 ihl/datanet/RedstoneSignalConverterGui.java (limited to 'ihl/datanet/RedstoneSignalConverterGui.java') diff --git a/ihl/datanet/RedstoneSignalConverterGui.java b/ihl/datanet/RedstoneSignalConverterGui.java new file mode 100644 index 0000000..b823f9f --- /dev/null +++ b/ihl/datanet/RedstoneSignalConverterGui.java @@ -0,0 +1,141 @@ +package ihl.datanet; + +import java.util.HashMap; +import java.util.Map; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import ic2.core.IC2; +import net.minecraft.client.gui.GuiButton; +import net.minecraft.client.gui.inventory.GuiContainer; +import net.minecraft.util.ResourceLocation; + +import org.lwjgl.opengl.GL11; + +import ic2.core.network.NetworkManager; +import ihl.collector.GuiMultiTextureButton; + +@SideOnly(Side.CLIENT) +public class RedstoneSignalConverterGui extends GuiContainer { + private static final ResourceLocation background = new ResourceLocation("ihl", "textures/gui/GUIRedstoneSignalConverter.png"); + private RedstoneSignalConverterContainer container; + private GuiInvisibleButton batterySlotPlus; + private GuiInvisibleButton batterySlotMinus; + private GuiInvisibleButton[] sensorsEmittersPlus = new GuiInvisibleButton[6]; + private GuiInvisibleButton[] sensorsEmittersMinus = new GuiInvisibleButton[6]; + private GuiInvisibleButton[][] cableContacts = new GuiInvisibleButton[4][8]; + public Map linksCoordinatesMap = new HashMap(); + private GuiMultiTextureButton removeLast; + private GuiMultiTextureButton removeAll; + private int timer=10; + + public RedstoneSignalConverterGui (RedstoneSignalConverterContainer container1) + { + super(container1); + this.container=container1; + this.ySize=RedstoneSignalConverterContainer.height; + this.xSize=RedstoneSignalConverterContainer.width; + } + + @Override + public void initGui() + { + super.initGui(); + int x = (width - xSize) / 2; + int y = (height - ySize) / 2; + int i,i1; + batterySlotPlus = new GuiInvisibleButton(0, x+24, y+121, 3, 3, linksCoordinatesMap, buttonList); + batterySlotMinus = new GuiInvisibleButton(1, x+24, y+124, 3, 3, linksCoordinatesMap, buttonList); + for(i=0;i>8) & 255); + Integer[] to = this.linksCoordinatesMap.get(integer & 255); + this.drawLink(from[0], from[1], to[0], to[1], index); + } + + @Override + public void actionPerformed(GuiButton button) + { + super.actionPerformed(button); + IC2.network.get().initiateClientTileEntityEvent(this.container.tileEntity, button.id); + if (button.id == removeLast.id) + { + //removeLast.isActive=true; + timer=10; + } + if (button.id == removeAll.id) + { + removeAll.isActive=true; + timer=10; + } + } + + @Override + protected void drawGuiContainerBackgroundLayer(float par1, int par2, + int par3) { + + GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); + GL11.glEnable(GL11.GL_BLEND); + GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA); this.mc.renderEngine.bindTexture(background); + int x = (width - xSize) / 2; + int y = (height - ySize) / 2; + this.drawTexturedModalRect(x, y, 0, 0, xSize, ySize); + for(int i = 0;i 0) + { + int i1 = Math.min(this.container.tileEntity.getGUIEnergy(12),12); + this.drawTexturedModalRect(x+184, y+119 + 12 - i1, 202, 12 - i1, 14, i1 + 2); + } + for(int i=0;i0) + { + timer--; + } + if(timer==1) + { + //removeLast.isActive=false; + removeAll.isActive=false; + } + } + + private void drawLink(int fromX, int fromY, int toX, int toY, int index) + { + int verticalLineOffset = 3*index+3; + this.drawTexturedModalRect(Math.min(fromX+verticalLineOffset,toX), toY-1, 0, 253, Math.abs(fromX+verticalLineOffset-toX)+(toX<=fromX+verticalLineOffset?1:0), 3); + this.drawTexturedModalRect(fromX+verticalLineOffset-1, Math.min(fromY, toY), 253, 0, 3, Math.abs(fromY-toY)+(toY