Exemplo n.º 1
0
    private void OnGUI()
    {
        if (activated)
        {
            GUI.BeginGroup(new Rect(Screen.width / 2 - 150, Screen.height / 2 - 150, 300, 440), background);
            //scrollPosition = GUI.BeginScrollView(new Rect(Screen.width / 2 - 110, Screen.height / 2, 220, 200), scrollPosition, new Rect(Screen.width / 2 - 100, Screen.height / 2, 200, 100 * upgrades.Length));
            numSel = (GUI.SelectionGrid(new Rect(50, 50, 200, 75 * upgrades.Length), numSel, upgrades, 1));
            //GUI.EndScrollView();
            if (GUI.Button(new Rect(40, 300, 90, 50), "Select"))
            {
                activated = false;
                subMenu   = true;
                WWW www = new WWW(loadData.data.stationUpgrades[numSel].Img);
                www.LoadImageIntoTexture(texTemp);
                description = "select";
            }
            if (GUI.Button(new Rect(170, 300, 90, 50), "Cancel"))
            {
                activated = false;
            }
            GUI.EndGroup();
        }
        if (subMenu)
        {
            if (!Stat.GetComponent <station>().upgradesUsed.Contains(numSel))
            {
                GUI.BeginGroup(new Rect(Screen.width / 2 - 150, Screen.height / 2 - 150, 300, 440), background);
                GUI.Box(new Rect(50, 50, 200, 50), loadData.data.stationUpgrades[numSel].upgradeName);
                GUI.Box(new Rect(50, 125, 200, 50), loadData.data.stationUpgrades[numSel].description);
                GUI.Box(new Rect(50, 200, 200, 50), "Cost: " + loadData.data.stationUpgrades[numSel].cost);
                GUI.Box(new Rect(50, 275, 200, 50), texTemp);
                if (GUI.Button(new Rect(40, 350, 90, 50), description))
                {
                    if (Stat.molH >= loadData.data.stationUpgrades[numSel].cost)
                    {
                        Stat.molH -= loadData.data.stationUpgrades[numSel].cost;

                        switch (numSel)
                        {
                        case 0:
                            setHangerActive();
                            break;

                        case 1:
                            setStationActive();
                            break;
                        }
                        Stat.upgradesUsed.Add(numSel);
                        subMenu = false;
                    }
                    else
                    {
                        description = "Not enough \r\n hydrogen";
                    }
                }
                if (GUI.Button(new Rect(170, 350, 90, 50), "Cancel"))
                {
                    subMenu = false;
                }
                GUI.EndGroup();
            }
            else if (!hangerGui.activeInHierarchy || !stationGui.activeInHierarchy)
            {
                switch (numSel)
                {
                case 0:
                    if (ship.upgrades[(int)IEnum.ShipUpgrades.speed] != 4)
                    {
                        shipUpgradeBars[(int)IEnum.ShipUpgrades.speed].statUpgrade[4].GetComponent <UnityEngine.UI.Text>().text = IEnum.Costs[ship.upgrades[(int)IEnum.ShipUpgrades.speed]].ToString();
                    }
                    if (ship.upgrades[(int)IEnum.ShipUpgrades.capacity] != 4)
                    {
                        shipUpgradeBars[(int)IEnum.ShipUpgrades.capacity].statUpgrade[4].GetComponent <UnityEngine.UI.Text>().text = IEnum.Costs[ship.upgrades[(int)IEnum.ShipUpgrades.capacity]].ToString();
                    }
                    if (ship.upgrades[(int)IEnum.ShipUpgrades.effeciency] != 4)
                    {
                        shipUpgradeBars[(int)IEnum.ShipUpgrades.effeciency].statUpgrade[4].GetComponent <UnityEngine.UI.Text>().text = IEnum.Costs[ship.upgrades[(int)IEnum.ShipUpgrades.effeciency]].ToString();
                    }
                    for (int i = 0; i < ship.upgrades.Length; i++)
                    {
                        setShipUpgradeColor(i, ship.upgrades[i]);
                    }
                    hangerGui.SetActive(true);
                    break;

                case 1:
                    if (Stat.upgrades[(int)IEnum.StatUpgrades.maxH] != 4)
                    {
                        statUpgradeBars[(int)IEnum.StatUpgrades.maxH].statUpgrade[4].GetComponent <UnityEngine.UI.Text>().text = IEnum.Costs[Stat.upgrades[(int)IEnum.StatUpgrades.maxH]].ToString();
                    }
                    if (Stat.upgrades[(int)IEnum.StatUpgrades.loss] != 4)
                    {
                        statUpgradeBars[(int)IEnum.StatUpgrades.loss].statUpgrade[4].GetComponent <UnityEngine.UI.Text>().text = IEnum.Costs[Stat.upgrades[(int)IEnum.StatUpgrades.loss]].ToString();
                    }
                    for (int i = 0; i < Stat.upgrades.Length; i++)
                    {
                        setStatUpgradeColor(i, Stat.upgrades[i]);
                    }
                    stationGui.SetActive(true);
                    break;
                }
            }
        }
    }