示例#1
0
    private void InitializeUpgrades()
    {
        foreach (Stat upgrade in statManager.startingStats)
        {
            GameObject newUpgradeElement = Instantiate(upgradeUIElementPrefab);

            switch (upgrade.statTarget)
            {
            case StatTarget.GORILLA:
                newUpgradeElement.transform.parent     = gorillaUIElementPanel.transform;
                newUpgradeElement.transform.localScale = Vector3.one;
                break;

            case StatTarget.TURTLE:
                newUpgradeElement.transform.parent     = turtleUIElementPanel.transform;
                newUpgradeElement.transform.localScale = Vector3.one;
                break;
            }

            StatUpgradeUIElement newElement = newUpgradeElement.GetComponent <StatUpgradeUIElement>();
            newElement.InitUpgrade(upgrade);
            newElement.upgradeButton.onClick.AddListener(delegate { UpgradeStat(newElement); });

            if (!upgradesUIElements.Contains(newElement))
            {
                upgradesUIElements.Add(newElement);
            }
        }
    }
示例#2
0
 public void UpgradeStat(StatUpgradeUIElement statToUpgrade)
 {
     inventory.RemoveSkillPoint(statToUpgrade.associatedStat.currentCost);
     statManager.UpgradeStat(statToUpgrade.associatedStat.lookupName);
     statToUpgrade.UpdateUpgradeElement();
     UpdateUpgradeScreen();
     Debug.Log("Upgraded");
 }