Untitled
unknown
csharp
2 months ago
5.4 kB
8
Indexable
using System.Collections; using System.Collections.Generic; using UnityEngine; using TMPro; public class newMetaSkillUpgrader : MonoBehaviour { [Header("Metaskills")] //public MetaSkill addHealth; //public MetaSkill addSpeed; //public MetaSkill experienceBoost; //public MetaSkill magnetBoost; //public MetaSkill attackBoost; //public MetaSkill projectilesAdd; public MetaSkill[] allMetaskills; [Header("Other")] // public TMP_Text healthText; // public TMP_Text healthCostText; //public TMP_Text speedText; public List <GameObject> skillPanels; // Start is called before the first frame update void Start() { resetAllSkills(); UpdateAllSkillPanels(); //skillPanel.GetComponent<setSkillPanelText>().setSkillText("Health", 1, 1); //healthText.text = addHealth.MetaSkillName; //speedText.text = addSpeed.MetaSkillName ; } private void UpdateAllSkillPanels() { Debug.Log(skillPanels); foreach (GameObject skillPanel in skillPanels) { setSkillPanelText textUpdater = skillPanel.GetComponent<setSkillPanelText>(); textUpdater.name.text = textUpdater.myMetaskill.MetaSkillName; textUpdater.level.text = textUpdater.myMetaskill.MetaSkillLevelIndex.ToString(); textUpdater.cost.text = textUpdater.myMetaskill.myMetaSkillLevels[textUpdater.myMetaskill.MetaSkillLevelIndex].biomassCost.ToString(); //skillPanel.GetComponent<setSkillPanelText>().name.text = skill.MetaSkillName; //skillPanel.GetComponent<setSkillPanelText>().level.text = skill.MetaSkillLevelIndex.ToString(); //skillPanel.GetComponent<setSkillPanelText>().cost.text = skill.myMetaSkillLevels[addHealth.MetaSkillLevelIndex].biomassCost.ToString(); } } private void UpdateSkillPanel(GameObject skillPanel) { setSkillPanelText textUpdater = skillPanel.GetComponent<setSkillPanelText>(); textUpdater.name.text = textUpdater.myMetaskill.MetaSkillName; textUpdater.level.text = textUpdater.myMetaskill.MetaSkillLevelIndex.ToString(); textUpdater.cost.text = textUpdater.myMetaskill.myMetaSkillLevels[textUpdater.myMetaskill.MetaSkillLevelIndex].biomassCost.ToString(); } // Update is called once per frame void Update() { } /// public void upgradeHealth(GameObject skillPanel) //{ // //cost check! // if (addHealth.MetaSkillLevelIndex < addHealth.myMetaSkillLevels.Count - 1) // { // if (addHealth.myMetaSkillLevels[addHealth.MetaSkillLevelIndex].biomassCost <= GameStats.Instance.biomass) // { // // // GameStats.Instance.biomass -= addHealth.myMetaSkillLevels[addHealth.MetaSkillLevelIndex].biomassCost; // addHealth.MetaSkillLevelIndex++; // GameStats.Instance.playerHealthLevel = addHealth.MetaSkillLevelIndex; // //healthText.text = (addHealth.MetaSkillName + " / " + addHealth.MetaSkillLevelIndex + " / " // // + addHealth.myMetaSkillLevels[addHealth.MetaSkillLevelIndex].biomassCost.ToString()); // skillPanel.GetComponent<setSkillPanelText>().name.text = addHealth.MetaSkillName; // skillPanel.GetComponent<setSkillPanelText>().level.text = addHealth.MetaSkillLevelIndex.ToString(); // skillPanel.GetComponent<setSkillPanelText>().cost.text = addHealth.myMetaSkillLevels[addHealth.MetaSkillLevelIndex].biomassCost.ToString(); // //UpdateSkillPanel(); // } // else { Debug.Log("Not enough Biomass"); } // } // else { Debug.Log("Max Level for " + addHealth.MetaSkillName + " reached"); } //} public void UpgradeSkill(GameObject skillPanel) { MetaSkill metaSkill = skillPanel.GetComponent<setSkillPanelText>().myMetaskill; if (metaSkill.MetaSkillLevelIndex < metaSkill.myMetaSkillLevels.Count - 1) { if (metaSkill.myMetaSkillLevels[metaSkill.MetaSkillLevelIndex].biomassCost <= GameStats.Instance.biomass) { GameStats.Instance.biomass -= metaSkill.myMetaSkillLevels[metaSkill.MetaSkillLevelIndex].biomassCost; metaSkill.MetaSkillLevelIndex++; //GameStats.Instance.playerHealthLevel = metaSkill.MetaSkillLevelIndex; // ?? how to get this to work dynamically? // Dynamically update the corresponding skill level in GameStats GameStats.Instance.UpdateSkillLevel(metaSkill.MetaSkillName, metaSkill.MetaSkillLevelIndex); UpdateSkillPanel(skillPanel); } else { Debug.Log("Not enough Biomass"); } } else { Debug.Log("Max Level for " + metaSkill.MetaSkillName + " reached"); } } public void resetAllSkills() { //addHealth.MetaSkillLevelIndex = 1; //addSpeed.MetaSkillLevelIndex = 1; //experienceBoost.MetaSkillLevelIndex = 1; foreach (MetaSkill metaskill in allMetaskills) { metaskill.MetaSkillLevelIndex = 1; } } }
Editor is loading...
Leave a Comment