public void Execute(DelOnTaskFinish onTaskFinish, TaskEventData eventData = null) { if (CurTask == null) { onTaskFinish?.Invoke(); } else { CurTask?.Execute(onTaskFinish, eventData); } }
public static TaskEventData operator +(TaskEventData dataA, TaskEventData dataB) { TaskEventData eventData = new TaskEventData(); if (dataA != null) { eventData.EventOnTaskStart += dataA.EventOnTaskStart; eventData.EventOnTaskSkip += dataA.EventOnTaskSkip; eventData.EventOnTaskGiveUp += dataA.EventOnTaskGiveUp; eventData.EventOnTaskFinish += dataA.EventOnTaskFinish; eventData.EventOnTaskLeave += dataA.EventOnTaskLeave; } if (dataB != null) { eventData.EventOnTaskStart += dataB.EventOnTaskStart; eventData.EventOnTaskSkip += dataB.EventOnTaskSkip; eventData.EventOnTaskGiveUp += dataB.EventOnTaskGiveUp; eventData.EventOnTaskFinish += dataB.EventOnTaskFinish; eventData.EventOnTaskLeave += dataB.EventOnTaskLeave; } return(eventData); }