public bool Use(IAbilityUser user, ref AbilityInfo abilityInfo) { if (hasCost && !user.DeductStat(cost)) { return(false); } user.Behaviour.StartCoroutine(UseAbility(abilityInfo)); return(true); }
public override void OnState(IAbilityUser user, ref AbilityInfo info) { }
IEnumerator UseAbility(AbilityInfo abilityInfo) { yield return(null); }
public virtual void OnInterrupt(IAbilityUser user, ref AbilityInfo info) { }
public virtual void OnCancel(IAbilityUser user, ref AbilityInfo info) { }
public abstract void OnState(IAbilityUser user, ref AbilityInfo info);