Package pneumaticCraft.client.gui.pneumaticHelmet

Source Code of pneumaticCraft.client.gui.pneumaticHelmet.GuiCoordinateTrackerOptions

package pneumaticCraft.client.gui.pneumaticHelmet;

import java.util.ArrayList;
import java.util.Arrays;

import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.GuiButton;
import net.minecraft.client.gui.GuiScreen;
import pneumaticCraft.api.client.pneumaticHelmet.IGuiScreen;
import pneumaticCraft.api.client.pneumaticHelmet.IOptionPage;
import pneumaticCraft.client.render.pneumaticArmor.ArmorMessage;
import pneumaticCraft.client.render.pneumaticArmor.CoordTrackUpgradeHandler;
import pneumaticCraft.client.render.pneumaticArmor.HUDHandler;
import cpw.mods.fml.client.FMLClientHandler;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;

@SideOnly(Side.CLIENT)
public class GuiCoordinateTrackerOptions implements IOptionPage{
    private GuiButton wirePath;
    private GuiButton pathEnabled;
    private GuiButton xRayEnabled;
    private GuiButton pathUpdateRate;

    @Override
    public String getPageName(){
        return "Coordinate Tracker Upgrade";
    }

    @Override
    public void initGui(IGuiScreen gui){
        gui.getButtonList().add(new GuiButton(10, 30, 40, 150, 20, "Select Target..."));
        gui.getButtonList().add(new GuiButton(11, 30, 62, 150, 20, "Navigate to Surface..."));
        pathEnabled = new GuiButton(12, 30, 128, 150, 20, "");
        wirePath = new GuiButton(13, 30, 150, 150, 20, "");
        xRayEnabled = new GuiButton(14, 30, 172, 150, 20, "");
        pathUpdateRate = new GuiButton(15, 30, 194, 150, 20, "");
        gui.getButtonList().add(pathEnabled);
        gui.getButtonList().add(wirePath);
        gui.getButtonList().add(xRayEnabled);
        gui.getButtonList().add(pathUpdateRate);
        updateButtonTexts();
    }

    @Override
    public void actionPerformed(GuiButton button){
        Minecraft mc = FMLClientHandler.instance().getClient();
        CoordTrackUpgradeHandler coordHandler = (CoordTrackUpgradeHandler)HUDHandler.instance().getSpecificRenderer(CoordTrackUpgradeHandler.class);
        switch(button.id){
            case 10:
                mc.displayGuiScreen((GuiScreen)null);
                mc.setIngameFocus();
                coordHandler.isListeningToCoordTrackerSetting = true;
                HUDHandler.instance().addMessage(new ArmorMessage("Changing Coordinate Tracker coordinate...", Arrays.asList("Right-click the desired coordinate"), 90, 0x7000AA00));
                break;
            case 11:
                mc.displayGuiScreen((GuiScreen)null);
                mc.setIngameFocus();
                if(coordHandler.navigateToSurface(mc.thePlayer)) {
                    HUDHandler.instance().addMessage(new ArmorMessage("Successfully found a route to the surface!", new ArrayList<String>(), 90, 0x7000AA00));
                } else {
                    HUDHandler.instance().addMessage(new ArmorMessage("Unable to find a route to the surface!", new ArrayList<String>(), 90, 0x70FF0000));
                }

                break;
            case 12:
                coordHandler.pathEnabled = !coordHandler.pathEnabled;
                break;
            case 13:
                coordHandler.wirePath = !coordHandler.wirePath;
                break;
            case 14:
                coordHandler.xRayEnabled = !coordHandler.xRayEnabled;
                break;
            case 15:
                coordHandler.pathUpdateSetting++;
                if(coordHandler.pathUpdateSetting > 2) {
                    coordHandler.pathUpdateSetting = 0;
                }
                break;
        }
        updateButtonTexts();
        coordHandler.saveToConfig();
    }

    @Override
    public void drawScreen(int x, int y, float partialTicks){}

    private void updateButtonTexts(){
        CoordTrackUpgradeHandler coordHandler = (CoordTrackUpgradeHandler)HUDHandler.instance().getSpecificRenderer(CoordTrackUpgradeHandler.class);
        pathEnabled.displayString = coordHandler.pathEnabled ? "Navigation Enabled" : "Navigation Disabled";
        wirePath.displayString = coordHandler.wirePath ? "Wire Navigation" : "Tile Navigation";
        xRayEnabled.displayString = coordHandler.xRayEnabled ? "X-Ray Enabled" : "X-Ray Disabled";
        switch(coordHandler.pathUpdateSetting){
            case 0:
                pathUpdateRate.displayString = "Path update rate: Low";
                break;
            case 1:
                pathUpdateRate.displayString = "Path update rate: Normal";
                break;
            case 2:
                pathUpdateRate.displayString = "Path update rate: Fast";
                break;
        }
        wirePath.enabled = coordHandler.pathEnabled;
        xRayEnabled.enabled = coordHandler.pathEnabled;
        pathUpdateRate.enabled = coordHandler.pathEnabled;
    }

    @Override
    public void keyTyped(char ch, int key){}

}
TOP

Related Classes of pneumaticCraft.client.gui.pneumaticHelmet.GuiCoordinateTrackerOptions

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.