public void RefreshWeaponsPowerUsage() { for (int i = 0; i < GameManager.shipWeapons.Count; i++) { GameObject weapon = weapons.transform.GetChild(i).gameObject; Weaponry shipWeapon = GameManager.shipWeapons[i].GetComponent <Weaponry>(); PowerUsage weaponPowerUsage = weapon.GetComponent <PowerUsage>(); // if weapon is damaged, turn icon red if (shipWeapon.IsDamaged) { weaponPowerUsage.iconGO.GetComponent <Image>().color = weapon.GetComponent <Image>().color = damagedColor; } else { weaponPowerUsage.iconGO.GetComponent <Image>().color = weapon.GetComponent <Image>().color = NORMAL_COLOR; } weaponPowerUsage.maxUsage = GameManager.ship.WeaponsRoom.weaponsEquipped[i].powerConsumption; weaponPowerUsage.usage = shipWeapon.powerConsumption; weaponPowerUsage.IsPowered = shipWeapon.IsPowered; weaponPowerUsage.RefreshPowerUsageUI(shipWeapon); } // refresh power value powerValueTxt = powerValue.GetComponent <TMPro.TextMeshProUGUI>(); powerValueTxt.text = playerShip.reactor.ToString(); }
// public void SetupCrew() { // // clear previous crewattpanels // foreach(Transform child in crewAttributePanels) // Destroy(child.gameObject); // int currentButtonIndex = 0; // for (int i = 0; i < playerShip.crew.transform.childCount; i++) { // GameObject crewmemberGO; // crewmemberGO = playerShip.crew.transform.GetChild(i).gameObject; // // if the crewmember's gameobject is inactive for some reason, skip to next // if(crewmemberGO.activeSelf == false) { // continue; // } // Crewmember crewmember = crewmemberGO.GetComponent<Crewmember>(); // print(crewmember.name); // GameObject crewmemberButtonGO = crewPanel.transform.GetChild(currentButtonIndex).gameObject; // // add to crew button index // currentButtonIndex++; // Image crewmemberIcon = crewmemberButtonGO.transform.GetChild(0).GetComponentInChildren<Image>(true); // // enable crew icon // crewmemberIcon.enabled = true; // // set crew icon // crewmemberIcon.sprite = crewmember.icon; // print(crewmember.icon + " vs " + crewmemberIcon.sprite); // crewmemberIcon.color = crewmember.GetComponent<SpriteRenderer>().color; // RectTransform crewAttPanelRectT = crewmemberButtonGO.transform.Find("CrewAttributesPanel").GetComponent<RectTransform>(); // AttributesUIPanel attUI = crewAttPanelRectT.GetComponent<AttributesUIPanel>(); // attUI.SetCrewmember(crewmember); // //crewAttPanelRectT.SetParent(crewAttributePanels.transform, true); // // set double click // CustomButton crewmemberButton = crewmemberButtonGO.GetComponent<CustomButton>(); // crewmemberButton.onDoubleTap.AddListener( // () => crewAttPanelRectT.gameObject.SetActive(!crewAttPanelRectT.gameObject.activeSelf) // ); // crewmemberButton.onDoubleTap?.Invoke(); // } // AddListenerToShipCrew(); // } public void SetupSystems() { for (int i = 0; i < playerShip.systems.transform.childCount; i++) { ShipSystem shipSystem = GameManager.shipSystems[i].GetComponent <ShipSystem>(); // set system power usage to UI GameObject systemButton = systemPanel.transform.GetChild(i).gameObject; PowerUsage systemPowerUsage = systemButton.GetComponent <PowerUsage>(); systemPowerUsage.maxUsage = shipSystem.powerCap; systemPowerUsage.RefreshMaxPowerUsageUI(); Image systemIcon = systemButton.transform.GetChild(0).GetComponentInChildren <Image>(); // enable system icon systemIcon.enabled = true; // set system icon systemIcon.sprite = shipSystem.system.icon; } AddListenerToShipSystems(); RefreshSystemsPowerUsage(); }
public void RefreshSystemsPowerUsage() { for (int i = 0; i < GameManager.shipSystems.Count; i++) { int childCount = systemPanel.transform.childCount; ShipSystem shipSystem = GameManager.shipSystems[i].GetComponent <ShipSystem>(); GameObject systemButton = systemPanel.transform.GetChild(i).gameObject; PowerUsage systemPowerUsage = systemButton.GetComponent <PowerUsage>(); //if system is damaged, turn icon red if (shipSystem.IsDamaged) { systemPowerUsage.iconGO.GetComponent <Image>().color = systemButton.GetComponent <Image>().color = damagedColor; } else { systemPowerUsage.iconGO.GetComponent <Image>().color = systemButton.GetComponent <Image>().color = NORMAL_COLOR; } if (systemPowerUsage != null) { systemPowerUsage.usage = shipSystem.powerConsumption; systemPowerUsage.IsPowered = shipSystem.IsPowered; systemPowerUsage.RefreshPowerUsageUI(shipSystem); } else { Debug.LogError(shipSystem.name + " is missing the power usage component"); } } // refresh power value powerValueTxt = powerValue.GetComponent <TMPro.TextMeshProUGUI>(); powerValueTxt.text = playerShip.reactor.ToString(); }
public void SetupWeapons() { for (int i = 0; i < GameManager.shipWeapons.Count; i++) { GameObject weapon = weapons.transform.GetChild(i).gameObject; Weaponry shipWeapon = GameManager.shipWeapons[i].GetComponent <Weaponry>(); // set weapon power usage to UI PowerUsage weaponPowerUsage = weapon.GetComponent <PowerUsage>(); weaponPowerUsage.SetWeapon(shipWeapon); weaponPowerUsage.maxUsage = shipWeapon.powerCap; weaponPowerUsage.RefreshMaxPowerUsageUI(); Image weaponIcon = weapon.transform.GetChild(0).GetComponentInChildren <Image>(); // enable weapon icon weaponIcon.enabled = true; // set weapon icon weaponIcon.sprite = GameManager.ship.WeaponsRoom.weaponsEquipped[i].icon; } AddListenerToShipWeapons(); RefreshWeaponsPowerUsage(); }