public ExecutionResult AddSuccess(string intel) { if (SuccessList == null) { SuccessList = new List <string>(); } SuccessList.Add(intel); return(this); }
/// <summary> /// Called after a successful task execution /// </summary> /// <param name="action"></param> /// <returns></returns> public UnityTask <TResult> OnSuccess(Action <TResult> action) { if (IsCompleted && IsSuccess) { action(Result); } else { SuccessList.Add(action); } return(this); }
protected override void OnTaskComplete() { foreach (var d in CompleteList) { if (d != null) { d.DynamicInvoke(this); } } CompleteList.Clear(); if (IsSuccess) { foreach (var d in SuccessList) { if (d != null) { d.DynamicInvoke(Result); } } } SuccessList.Clear(); }