private IEnumerator InnerCoroutine(IEnumerator coroutine, CoroutineFinishedCallback finishedCallBack) { yield return(StartCoroutine(coroutine)); // use to wait one frame in order to have start & awake yield return(null); if (finishedCallBack != null) { finishedCallBack(); } }
private IEnumerator InnerCoroutines(List <IEnumerator> coroutines, CoroutineFinishedCallback finishedCallBack) { List <Coroutine> cs = new List <Coroutine>(); foreach (var enumerator in coroutines) { cs.Add(StartCoroutine(enumerator)); } foreach (var c in cs) { yield return(c); } yield return(null); if (finishedCallBack != null) { finishedCallBack(); } }
public void StartCoroutines(List <IEnumerator> coroutines, CoroutineFinishedCallback finishedCallBack) { StartCoroutine(InnerCoroutines(coroutines, finishedCallBack)); }
public void StartCoroutine(IEnumerator coroutine, CoroutineFinishedCallback finishedCallBack) { StartCoroutine(InnerCoroutine(coroutine, finishedCallBack)); }