Package pneumaticCraft.client.gui

Source Code of pneumaticCraft.client.gui.GuiAssemblyController

package pneumaticCraft.client.gui;

import java.util.ArrayList;
import java.util.List;

import net.minecraft.entity.player.InventoryPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.util.EnumChatFormatting;
import pneumaticCraft.client.gui.widget.GuiAnimatedStat;
import pneumaticCraft.common.block.Blockss;
import pneumaticCraft.common.inventory.ContainerAssemblyController;
import pneumaticCraft.common.tileentity.IAssemblyMachine;
import pneumaticCraft.common.tileentity.TileEntityAssemblyController;
import pneumaticCraft.common.tileentity.TileEntityAssemblyDrill;
import pneumaticCraft.common.tileentity.TileEntityAssemblyIOUnit;
import pneumaticCraft.common.tileentity.TileEntityAssemblyLaser;
import pneumaticCraft.common.tileentity.TileEntityAssemblyPlatform;
import pneumaticCraft.lib.Textures;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;

@SideOnly(Side.CLIENT)
public class GuiAssemblyController extends GuiPneumaticContainerBase<TileEntityAssemblyController>{

    private GuiAnimatedStat statusStat;

    public GuiAssemblyController(InventoryPlayer player, TileEntityAssemblyController te){

        super(new ContainerAssemblyController(player, te), te, Textures.GUI_ASSEMBLY_CONTROLLER);
    }

    @Override
    public void initGui(){
        super.initGui();
        statusStat = addAnimatedStat("Assembly Controller Status", new ItemStack(Blockss.assemblyController), 0xFFFFAA00, false);
    }

    @Override
    protected void drawGuiContainerForegroundLayer(int x, int y){
        super.drawGuiContainerForegroundLayer(x, y);
        fontRendererObj.drawString("Upgr.", 18, 21, 4210752);
        fontRendererObj.drawString("Prog.", 70, 24, 4210752);

    }

    @Override
    public void updateScreen(){
        super.updateScreen();
        statusStat.setText(getStatusText());
    }

    private List<String> getStatusText(){
        List<String> text = new ArrayList<String>();

        List<IAssemblyMachine> machineList = te.getMachines();
        boolean platformFound = false;
        boolean drillFound = false;
        boolean laserFound = false;
        boolean IOUnitExportFound = false;
        boolean IOUnitImportFound = false;
        text.add("\u00a77Machine Status:");
        for(IAssemblyMachine machine : machineList) {
            if(machine instanceof TileEntityAssemblyPlatform) {
                platformFound = true;
                text.add(EnumChatFormatting.GREEN + "-Assembly Platform online");
            } else if(machine instanceof TileEntityAssemblyDrill) {
                drillFound = true;
                text.add(EnumChatFormatting.GREEN + "-Assembly Drill online");
            } else if(machine instanceof TileEntityAssemblyIOUnit) {
                if(((TileEntityAssemblyIOUnit)machine).getBlockMetadata() == 0) {
                    IOUnitImportFound = true;
                    text.add(EnumChatFormatting.GREEN + "-Assembly IO Unit (import) online");
                } else {
                    IOUnitExportFound = true;
                    text.add(EnumChatFormatting.GREEN + "-Assembly IO Unit (export) online");
                }
            } else if(machine instanceof TileEntityAssemblyLaser) {
                laserFound = true;
                text.add(EnumChatFormatting.GREEN + "-Assembly Laser online");
            }
        }
        if(!platformFound) text.add(EnumChatFormatting.DARK_RED + "-Assembly Platform offline");
        if(!drillFound) text.add(EnumChatFormatting.DARK_RED + "-Assembly Drill offline");
        if(!laserFound) text.add(EnumChatFormatting.DARK_RED + "-Assembly Laser offline");
        if(!IOUnitExportFound) text.add(EnumChatFormatting.DARK_RED + "-Assembly IO Unit (export) offline");
        if(!IOUnitImportFound) text.add(EnumChatFormatting.DARK_RED + "-Assembly IO Unit (import) offline");
        return text;
    }

    @Override
    protected void addProblems(List<String> textList){
        te.addProblems(textList);
    }
}
TOP

Related Classes of pneumaticCraft.client.gui.GuiAssemblyController

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.