Package erogenousbeef.bigreactors.client.gui

Source Code of erogenousbeef.bigreactors.client.gui.GuiReactorAccessPort

package erogenousbeef.bigreactors.client.gui;

import net.minecraft.client.gui.GuiButton;
import net.minecraft.inventory.Container;
import net.minecraft.util.EnumChatFormatting;
import net.minecraft.util.ResourceLocation;
import erogenousbeef.bigreactors.client.ClientProxy;
import erogenousbeef.bigreactors.common.BigReactors;
import erogenousbeef.bigreactors.common.multiblock.tileentity.TileEntityReactorAccessPort;
import erogenousbeef.bigreactors.gui.BeefGuiIconManager;
import erogenousbeef.bigreactors.gui.controls.BeefGuiLabel;
import erogenousbeef.bigreactors.gui.controls.GuiIconButton;
import erogenousbeef.bigreactors.net.CommonPacketHandler;
import erogenousbeef.bigreactors.net.message.ReactorAccessPortChangeDirectionMessage;
import erogenousbeef.bigreactors.net.message.multiblock.ReactorCommandEjectToPortMessage;

public class GuiReactorAccessPort extends BeefGuiBase {
  private TileEntityReactorAccessPort _port;
 
  protected BeefGuiLabel inventoryLabel;
 
  protected GuiIconButton ejectFuel;
  protected GuiIconButton ejectWaste;
 
  protected GuiIconButton btnInlet;
  protected GuiIconButton btnOutlet;
 
  public GuiReactorAccessPort(Container container, TileEntityReactorAccessPort accessPort) {
    super(container);
   
    _port = accessPort;
  }
 
  @Override
  public void initGui() {
    super.initGui();

    ejectFuel = new GuiIconButton(2, guiLeft + xSize - 97, guiTop + 53, 18, 18, ClientProxy.GuiIcons.getIcon("fuelEject"), new String[] { EnumChatFormatting.AQUA + "Eject Fuel", "", "Ejects fuel contained in the", "reactor, placing ingots in the", "reactor's access ports.", "", "SHIFT: Dump excess fuel."});
    ejectWaste = new GuiIconButton(3, guiLeft + xSize - 77, guiTop + 53, 18, 18, ClientProxy.GuiIcons.getIcon("wasteEject"), new String[] { EnumChatFormatting.AQUA + "Eject Waste", "", "Ejects waste contained in the", "reactor, placing ingots in the", "reactor's access ports.", "", "SHIFT: Dump excess waste."});
   
    btnInlet = new GuiIconButton(0, guiLeft + xSize - 47, guiTop + 53, 18, 18, ClientProxy.GuiIcons.getIcon("inletOn"), new String[] { EnumChatFormatting.AQUA + "Inlet Mode", "", "Sets the access port to", "inlet mode.", "", "Port WILL accept", "items from pipes/ducts.", "Port WILL NOT eject", "items to pipes/ducts."});
    btnOutlet = new GuiIconButton(1, guiLeft + xSize - 27, guiTop + 53, 18, 18, ClientProxy.GuiIcons.getIcon("outletOn"), new String[] { EnumChatFormatting.AQUA + "Outlet Mode", "", "Sets the access port to", "outlet mode.", "", "Port WILL NOT accept", "items from pipes/ducts.", "Port WILL eject", "ingots to pipes/ducts."});
   
    inventoryLabel = new BeefGuiLabel(this, "Inventory", guiLeft + 8, guiTop + 64);
   
    registerControl(ejectFuel);
    registerControl(ejectWaste);
    registerControl(btnOutlet);
    registerControl(btnInlet);
    registerControl(inventoryLabel);
   
    updateIcons();
  }

  @Override
  public ResourceLocation getGuiBackground() {
    return new ResourceLocation(BigReactors.GUI_DIRECTORY + "ReactorAccessPort.png");
  }

  @Override
  public void updateScreen() {
    super.updateScreen();

    updateIcons();
  }
 
  protected void updateIcons() {
    if(_port.isInlet()) {
      btnInlet.setIcon(ClientProxy.GuiIcons.getIcon(BeefGuiIconManager.INLET_ON));
      btnOutlet.setIcon(ClientProxy.GuiIcons.getIcon(BeefGuiIconManager.OUTLET_OFF));
    }
    else {
      btnInlet.setIcon(ClientProxy.GuiIcons.getIcon(BeefGuiIconManager.INLET_OFF));
      btnOutlet.setIcon(ClientProxy.GuiIcons.getIcon(BeefGuiIconManager.OUTLET_ON));
    }
  }
 
  @Override
  public void drawScreen(int mouseX, int mouseY, float gameTicks) {
    super.drawScreen(mouseX, mouseY, gameTicks);
  }
 
  @Override
  protected void actionPerformed(GuiButton button) {
    if(button.id == 0 || button.id == 1) {
            CommonPacketHandler.INSTANCE.sendToServer(new ReactorAccessPortChangeDirectionMessage(_port, button.id == btnInlet.id));
    }
   
    else if(button.id == 2 || button.id == 3) {
      boolean ejectFuel = button.id == 2;
            CommonPacketHandler.INSTANCE.sendToServer(new ReactorCommandEjectToPortMessage(_port, ejectFuel, isShiftKeyDown()));
    }
  }
}
TOP

Related Classes of erogenousbeef.bigreactors.client.gui.GuiReactorAccessPort

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.