Shoot-N-Slash/Assets/Scripts/Ability.cs

39 lines
714 B
C#

using UnityEngine;
public class Ability : MonoBehaviour
{
[Header("Identification")]
public string abilityName;
public Entity thisEntity;
[Header("Cooldown")]
protected float currentCooldown;
public float cooldown;
[Header("Stats")]
public float power;
public Vector3 targetLocation;
protected virtual void Update()
{
if (currentCooldown > 0f)
{
currentCooldown -= Time.deltaTime;
}
}
public bool TryAbility()
{
if (currentCooldown <= 0f)
{
AbilityEffects();
currentCooldown = cooldown;
Debug.Log($"Ability {abilityName} SUCCESS");
return true;
}
Debug.Log($"Ability {abilityName} ON COOLDOWN");
return false;
}
protected virtual void AbilityEffects()
{
}
}