Exemplo n.º 1
0
 private void CreateUpgradeWidgets(UpgradePrefab prefab, GameObject container)
 {
     foreach (PartUpgrade pu in prefab.upgrades)
     {
         // Don't create widgets for untracked upgrades
         if (pu.isUntracked)
         {
             continue;
         }
         // Create new widget
         PartListTooltipWidget newWidget = Instantiate(tooltip.extInfoModuleWidgetPrefab);
         newWidget.gameObject.name = "Upgrade tooltip widget";
         // Add widget to list
         newWidget.transform.SetParent(container.transform, false);
         // Add "toggle" component
         if ((pu.upgradeState == PartUpgrade.UpgradeState.Enabled || pu.upgradeState == PartUpgrade.UpgradeState.Disabled))
         {
             Toggle toggle = newWidget.gameObject.AddComponent <Toggle>();
             toggle.isOn    = (pu.upgradeState == PartUpgrade.UpgradeState.Enabled) ? true : false;
             toggle.enabled = true;
             toggle.onValueChanged.AddListener(onUpgradeToggle);
         }
         // Add the upgrade handler
         UpgradeWidgetComponent handler = newWidget.gameObject.AddComponent <UpgradeWidgetComponent>();
         handler.partName     = prefab.part.partInfo.name;
         handler.upgrade      = pu.upgradeName;
         handler.upgradeState = pu.upgradeState;
         handler.isUpdated    = false;
         // Create text
         newWidget.Setup(pu.GetTitle(), pu.GetInfo(prefab));
         ToggleColors(handler, newWidget.GetComponent <Image>());
         // Everything is good
         newWidget.gameObject.SetActive(true);
     }
 }
Exemplo n.º 2
0
        private void ToggleWidgetsVisibility(UpgradePrefab prefab)
        {
            PartListTooltipWidget[] widgets = tooltip.panelExtended.GetComponentsInChildren <PartListTooltipWidget>(true);
            bool isModuleView = toggleWidget.GetComponent <Toggle>().isOn;

            foreach (PartListTooltipWidget widget in widgets)
            {
                if (widget.name == "PartListTooltipExtendedPartInfo(Clone)" || widget.name == "PartListTooltipExtendedResourceInfo(Clone)")
                {
                    widget.gameObject.SetActive(isModuleView);
                }
                if (widget.name == "Upgrade tooltip widget")
                {
                    widget.gameObject.SetActive(!isModuleView);
                }
                if (widget.name == "Widget list toggle")
                {
                    if (isModuleView)
                    {
                        int disabledUpgrades = prefab.upgrades.Count(p => p.upgradeState == PartUpgrade.UpgradeState.Disabled);
                        if (disabledUpgrades > 0)
                        {
                            widget.GetComponent <Image>().color = Color255(222, 193, 88); // pale yellow
                            widget.textName.text = "Select upgrades (" + disabledUpgrades + " disabled)";
                        }
                        else
                        {
                            widget.GetComponent <Image>().color = Color255(149, 223, 102); // pale green
                            widget.textName.text = "Select upgrades (all enabled)";
                        }
                    }
                    else
                    {
                        widget.GetComponent <Image>().color = Color.white;
                        widget.textName.text = "Show modules & resources";
                    }
                }
            }
        }