using System.Collections.Generic; using TMPro; using UnityEngine; public class PotionHandler:MonoBehaviour { // Start is called once before the first execution of Update after the MonoBehaviour is created private Dictionary potions = new Dictionary(); [SerializeField] private TMP_Text textMeshProUGUI; [SerializeField] private PotionHandler.PotionType potionType; public enum PotionType { HealthSmall, HealthBig, Mana, None } private void Awake() { foreach (PotionType type in System.Enum.GetValues(typeof(PotionType))) { potions.Add(type, 0); } textMeshProUGUI.text = potions[potionType].ToString(); // Register this handler with the PlayerSkillTree PlayerSkillTree.Instance.RegisterPotionHandler(potionType, this); } public void AddPotion(PotionType type, int amount = 1) { potions[type] += amount; if(type == potionType) { textMeshProUGUI.text= potions[type].ToString(); } Debug.Log("Potion text is: " + textMeshProUGUI.text); } public bool UsePotion(PotionType type, int amount = 1) { potions[type] -= amount; if (type == potionType) { textMeshProUGUI.text = potions[type].ToString(); } return true; } public int GetAmount(PotionType type) { return potions[type]; } public bool IsEmpty(PotionType type) { return GetAmount(type) == 0; } }