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 + ")"; } }
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(); } }
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; }