package org.freeforums.geforce.securitycraft.gui; import java.io.ByteArrayOutputStream; import java.io.DataOutputStream; import java.io.IOException; import net.minecraft.client.gui.GuiButton; import net.minecraft.client.gui.GuiTextField; import net.minecraft.client.gui.inventory.GuiContainer; import net.minecraft.entity.player.InventoryPlayer; import net.minecraft.inventory.Container; import net.minecraft.util.ResourceLocation; import org.freeforums.geforce.securitycraft.containers.ContainerSecurityCamera; import org.freeforums.geforce.securitycraft.tileentity.TileEntitySecurityCamera; import org.lwjgl.input.Keyboard; import org.lwjgl.opengl.GL11; //TODO public class GuiSecurityCamera extends GuiContainer{ private static final ResourceLocation field_110410_t = new ResourceLocation("securitycraft:textures/gui/container/blank.png"); private TileEntitySecurityCamera TESC; private GuiTextField[] textFields = new GuiTextField[10]; public GuiSecurityCamera(Container par1Container) { super(par1Container); } public GuiSecurityCamera(InventoryPlayer par1InventoryPlayer, TileEntitySecurityCamera par2TileEntityFurnace) { super(new ContainerSecurityCamera(par1InventoryPlayer, par2TileEntityFurnace)); this.TESC = par2TileEntityFurnace; } public void initGui(){ super.initGui(); Keyboard.enableRepeatEvents(true); this.buttonList.add(new GuiButton(0, 100, 100, 100, 20, "Save.")); for(int x = 1; x <= 5; x++){ this.textFields[x - 1] = new GuiTextField(this.fontRendererObj, this.width / 2 - 52, this.height / 2 - 67 + (x * 20), 40, 12); this.textFields[x - 1].setTextColor(-1); this.textFields[x - 1].setDisabledTextColour(-1); this.textFields[x - 1].setEnableBackgroundDrawing(true); this.textFields[x - 1].setMaxStringLength(25); if(this.TESC.getId(x) != ""){ this.textFields[x - 1].setText(this.TESC.getId(x)); //System.out.println(x - 1); } } for(int x = 1; x <= 5; x++){ this.textFields[(x + 5) - 1] = new GuiTextField(this.fontRendererObj, this.width / 2 + 20, this.height / 2 - 67 + (x * 20), 40, 12); this.textFields[(x + 5) - 1].setTextColor(-1); this.textFields[(x + 5) - 1].setDisabledTextColour(-1); this.textFields[(x + 5) - 1].setEnableBackgroundDrawing(true); this.textFields[(x + 5) - 1].setMaxStringLength(5); if(this.TESC.getId((x + 5)) != ""){ this.textFields[(x + 5) - 1].setText(this.TESC.getId((x + 5))); } } } public void onGuiClosed(){ super.onGuiClosed(); Keyboard.enableRepeatEvents(false); } public void drawScreen(int par1, int par2, float par3){ super.drawScreen(par1, par2, par3); GL11.glDisable(GL11.GL_LIGHTING); for(int x = 0; x <= 9; x++){ this.textFields[x].drawTextBox(); } } protected void keyTyped(char par1, int par2){ if(this.textFields[0].textboxKeyTyped(par1, par2)){ //this.mc.thePlayer.sendQueue.addToSendQueue(new Packet250CustomPayload("MC|ItemName", this.textFields[0].getText().getBytes())); } else if(this.textFields[1].textboxKeyTyped(par1, par2)){ //this.mc.thePlayer.sendQueue.addToSendQueue(new Packet250CustomPayload("MC|ItemName", this.textFields[1].getText().getBytes())); } else if(this.textFields[2].textboxKeyTyped(par1, par2)){ //this.mc.thePlayer.sendQueue.addToSendQueue(new Packet250CustomPayload("MC|ItemName", this.textFields[2].getText().getBytes())); } else if(this.textFields[3].textboxKeyTyped(par1, par2)){ //this.mc.thePlayer.sendQueue.addToSendQueue(new Packet250CustomPayload("MC|ItemName", this.textFields[3].getText().getBytes())); } else if(this.textFields[4].textboxKeyTyped(par1, par2)){ //this.mc.thePlayer.sendQueue.addToSendQueue(new Packet250CustomPayload("MC|ItemName", this.textFields[4].getText().getBytes())); } else if(this.textFields[5].textboxKeyTyped(par1, par2)){ //this.mc.thePlayer.sendQueue.addToSendQueue(new Packet250CustomPayload("MC|ItemName", this.textFields[5].getText().getBytes())); } else if(this.textFields[6].textboxKeyTyped(par1, par2)){ //this.mc.thePlayer.sendQueue.addToSendQueue(new Packet250CustomPayload("MC|ItemName", this.textFields[6].getText().getBytes())); } else if(this.textFields[7].textboxKeyTyped(par1, par2)){ //this.mc.thePlayer.sendQueue.addToSendQueue(new Packet250CustomPayload("MC|ItemName", this.textFields[7].getText().getBytes())); } else if(this.textFields[8].textboxKeyTyped(par1, par2)){ //this.mc.thePlayer.sendQueue.addToSendQueue(new Packet250CustomPayload("MC|ItemName", this.textFields[8].getText().getBytes())); } else if(this.textFields[9].textboxKeyTyped(par1, par2)){ //this.mc.thePlayer.sendQueue.addToSendQueue(new Packet250CustomPayload("MC|ItemName", this.textFields[9].getText().getBytes())); } else{ super.keyTyped(par1, par2); } } protected void mouseClicked(int par1, int par2, int par3){ super.mouseClicked(par1, par2, par3); for(int x = 1; x <= 10; x++){ this.textFields[x - 1].mouseClicked(par1, par2, par3); } } /** * Draw the foreground layer for the GuiContainer (everything in front of the items) */ protected void drawGuiContainerForegroundLayer(int par1, int par2) { this.fontRendererObj.drawString("Security Camera", this.xSize / 2 - this.fontRendererObj.getStringWidth("Security Camera") / 2, 6, 4210752); } /** * Draw the background layer for the GuiContainer (everything behind the items) */ protected void drawGuiContainerBackgroundLayer(float par1, int par2, int par3) { GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); this.mc.getTextureManager().bindTexture(field_110410_t); int k = (this.width - this.xSize) / 2; int l = (this.height - this.ySize) / 2; this.drawTexturedModalRect(k, l, 0, 0, this.xSize, this.ySize); } protected void actionPerformed(GuiButton guibutton){ switch(guibutton.id){ case 0: ByteArrayOutputStream BOS = new ByteArrayOutputStream(400); DataOutputStream outputStream = new DataOutputStream(BOS); for(int i = 1; i <= 10; i++){ this.TESC.setId(this.textFields[i - 1].getText(), i); } try{ outputStream.writeInt(this.TESC.xCoord); outputStream.writeInt(this.TESC.yCoord); outputStream.writeInt(this.TESC.zCoord); //Packet.writeString(this.textFields[0].getText(), outputStream); //Packet.writeString(this.textFields[1].getText(), outputStream); //Packet.writeString(this.textFields[2].getText(), outputStream); //Packet.writeString(this.textFields[3].getText(), outputStream); //Packet.writeString(this.textFields[4].getText(), outputStream); //Packet.writeString(this.textFields[5].getText(), outputStream); //Packet.writeString(this.textFields[6].getText(), outputStream); //Packet.writeString(this.textFields[7].getText(), outputStream); //Packet.writeString(this.textFields[8].getText(), outputStream); //Packet.writeString(this.textFields[9].getText(), outputStream); }catch(IOException e){ e.printStackTrace(); } /* Packet250CustomPayload packet = new Packet250CustomPayload(); packet.channel = "CameraSetup"; packet.data = BOS.toByteArray(); packet.length = BOS.size(); PacketDispatcher.sendPacketToServer(packet); */ } } }