21 lines
541 B
C#
Raw Normal View History

2025-08-11 20:37:42 +05:00
using UnityEngine;
public abstract class Ability : ScriptableObject
{
[Header("Meta")]
public string displayName = "Ability";
2025-08-22 22:16:14 +05:00
public string key = "";
2025-08-11 20:37:42 +05:00
public Sprite icon;
[Header("Cost & Cooldown")]
public float manaCost = 10f;
public float cooldown = 2f;
[TextArea] public string description;
// Called after cost/cooldown checks pass
public abstract void Activate(AbilityUser user);
// Optional pre-checks (override if needed)
public virtual bool CanActivate(AbilityUser user) => true;
}