Untitled
unknown
csharp
10 months ago
5.4 kB
11
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