Пример #1
0
        private void HandleTalentDisplayPanel()
        {
            int currentRank = currentTalentRanks[selectedTalent];

            TalentInfoContainer.DescriptionContainer description = TalentInfoContainer.infoDictionary[selectedTalent];

            talentNameText.text        = description.Name;
            talentDescriptionText.text = description.Description;

            if (currentRank == 0)
            {
                talentCurrentLevelText.text = "Current Level:\nThis talent has not been purchased.";
            }
            else
            {
                talentCurrentLevelText.text = "Current Level:\n" + description.LevelDescriptions[currentRank - 1];
            }

            if (currentRank == description.NumRanks)
            {
                talentNextLevelText.text = "Next Level:\nThis talent is already at the maximum level.";
                purchaseButton.gameObject.SetActive(false);
            }
            else
            {
                talentNextLevelText.text = "Next Level:\n" + description.LevelDescriptions[currentRank];
                purchaseButton.gameObject.SetActive(true);
                int cost = (currentRank + 1) * description.BaseCost;
                purchaseButton.GetComponentInChildren <Text>().text = "Purchase (" + cost + ")";
            }
        }
Пример #2
0
        public void OnTalentPurchase()
        {
            TalentInfoContainer.DescriptionContainer description = TalentInfoContainer.infoDictionary[selectedTalent];
            int currentRank = currentTalentRanks[selectedTalent];
            int cost        = (currentRank + 1) * description.BaseCost;

            if (currentRank < description.NumRanks && cost <= GlobalTalentContainer.GetInstance().UnspentEmbers)
            {
                currentTalentRanks[selectedTalent]++;
                GlobalTalentContainer.GetInstance().UnspentEmbers -= cost;
                ReloadTalents();
                HandleTalentDisplayPanel();
            }
        }
Пример #3
0
        private void ReloadTalents()
        {
            if (showingExplorers)
            {
                switch (currentExplorer)
                {
                case ExplorerEnum.DOUBLE_JUMP:
                    currentTalentRanks = GlobalTalentContainer.GetInstance().DoubleJumpTalents;
                    break;

                case ExplorerEnum.JETPACK:
                    currentTalentRanks = GlobalTalentContainer.GetInstance().JetpackTalents;
                    break;

                case ExplorerEnum.DASH:
                    currentTalentRanks = GlobalTalentContainer.GetInstance().DashTalents;
                    break;
                }
            }
            else
            {
                switch (currentNightmare)
                {
                case NightmareEnum.GHAST:
                    currentTalentRanks = GlobalTalentContainer.GetInstance().GhastTalents;
                    break;

                case NightmareEnum.CRYO:
                    currentTalentRanks = GlobalTalentContainer.GetInstance().CryoTalents;
                    break;

                case NightmareEnum.GOBLIN:
                    currentTalentRanks = GlobalTalentContainer.GetInstance().GoblinTalents;
                    break;
                }
            }
            explorerPanel.SetActive(showingExplorers);
            nightmarePanel.SetActive(!showingExplorers);
            foreach (TalentEnum talent in Enum.GetValues(typeof(TalentEnum)))
            {
                TalentInfoContainer.DescriptionContainer description = TalentInfoContainer.infoDictionary[talent];
                TalentButton button = sceneButtons[talent];
                button.SetRankLabel(currentTalentRanks[talent], description.NumRanks);
            }
            unspentEmberText.text = "Unspent Embers: " + GlobalTalentContainer.GetInstance().UnspentEmbers;
        }