public void OpenShop(UpgradeCategory category) { EventDispatcher.DispatchEvent(Events.OPEN_UI_PANE, null); lastCategorySelected = eventSystem.currentSelectedGameObject; anim.SetTrigger("OpenShop"); ActivateCategory(category); }
public List <Upgrade> getUpgradesByCategory(UpgradeCategory upgradeCategory, bool?discovered = null) { var upgrades = upgradesByCategory[gameManager.getGamePhase()][upgradeCategory]; if (discovered is null) { return(upgrades); } else if ((bool)discovered) { return(upgrades.Where(upgrade => upgrade.isDiscovered()).ToList()); } else { return(upgrades.Where(upgrade => !upgrade.isDiscovered()).ToList()); } }
private void ActivateCategory(UpgradeCategory category) { if (activeCategoryContainer != null) { activeCategoryContainer.SetActive(false); } categoryHeader.text = LocalizationManager.GetLocalizedText(category.description); activeCategoryContainer = categoriesContainers[category]; activeCategoryContainer.SetActive(true); gridLayout.target = activeCategoryContainer.transform; gridLayout.Resize(); eventSystem.SetSelectedGameObject(activeCategoryContainer.transform.GetChild(0).gameObject); }
// Hides the UI when the current upgrade cateogry being viewed changes private void HideUpgradeCategory(string upgradeCategory) { GameObject currentUpgradeCategoryGameObject = null; // Iterate through Upgrade Panel to find tag mathcing game object foreach (Transform child in upgradePanel.transform) { if (child.gameObject.tag == upgradeCategory) { currentUpgradeCategoryGameObject = child.gameObject; break; } } if (currentUpgradeCategoryGameObject == null) { throw new System.ArgumentException("Couldn't find game object associated with currentUpgradeCateogory tag"); } UpgradeCategory currentUpgradeCategoryScript = currentUpgradeCategoryGameObject.GetComponent <UpgradeCategory>(); currentUpgradeCategoryScript.HideUpgradeAttributes(); }