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; } } } }