using UnityEngine; public class AbilityUpgrade : ScriptableObject { [Header("Identification")] public string upgradeName; public Sprite upgradeIcon; public int rarity; //higher is rarer public int cost; [Header("Stats")] [SerializeField] private string hi; //never use this lol it's just for the header public void ApplyUpgrade(PlayerAbility abilityToUpgrade, float optionalInput = 0) { UpgradeEffects(abilityToUpgrade, optionalInput); } protected virtual void UpgradeEffects(PlayerAbility abilityToUpgrade, float optionalInput) { } public virtual void ApplyRemoval(PlayerAbility abilityToRemove) { } }