private static IEnumerator PActionTimer(ActionOverTime timerAction, Action finishedAction) { yield return(timerAction); finishedAction?.Invoke(); }
/// <summary> /// Called by an action when it's done. /// Will remove itself from the dictionary. /// Can be override but don't forget to call the base(). /// </summary> /// <param name="action">Action.</param> /// <param name="args">Argument.</param> public virtual void ActionDone(ActionOverTime action, Object args) { action.Stop(); ActionsOverTimeToRemove.Add(action); }
/// <summary> /// Performs the action. /// </summary> /// <param name="action">Action.</param> public virtual void PerformAction(ActionOverTime action) { ActionsOverTimeToActivate.Add(action); }
private void HandleOverTimeEffect(AbilityData data) { ActionOverTime.Apply(this, data); }