RiftMayhem/Assets/Scripts/NPC/NPCAbilityBinder.cs
2025-02-21 18:35:51 +00:00

44 lines
946 B
C#

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<Taggable>();
mana = GetComponentInParent<Mana>();
}
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;
}
}