using System.Collections; using System.Collections.Generic; using UnityEngine; public class NPCAbilityBinder : MonoBehaviour { [SerializeField] private BaseAbility primaryAbility; [SerializeField] private BaseAbility coreAbility; private Taggable userTag; private Mana mana; private void Awake() { userTag = GetComponentInParent(); mana = GetComponentInParent(); } private void Start() { } public void UsePrimaryAbility() { if (primaryAbility == null) return; if (mana.EnoughMana(primaryAbility.manaCost)) primaryAbility.Execute(userTag); } public void UseCoreAbility(Vector3 point) { if (coreAbility == null) return; if (mana.EnoughMana(coreAbility.manaCost)) coreAbility.Execute(userTag, point); } public bool ValidCoreAbility() { return coreAbility != null; } }