public static void UMStartCoroutine(this MonoBehaviour self, IEnumerator enumerator) { UMCoroutine c = new UMCoroutine(enumerator, self); c.MoveNext(); if (!c.IsStopped) { UMCoroutineManager.AddCoroutine(c); } }
/// <summary> /// 对 Coroutine 执行一次更新。 /// </summary> /// <param name="coroutine">待更新的 Coroutine 实例。</param> private static void UpdateCoroutine(UMCoroutine coroutine) { if (coroutine.IsWaiting) { coroutine.Wait(); } else { coroutine.MoveNext(); } }
public static void UMResumeCoroutine(this MonoBehaviour self, UMCoroutine coroutine) { UMCoroutineManager.ResumeCoroutine(coroutine); }
public static void UMStopCoroutine(this MonoBehaviour self, UMCoroutine coroutine) { UMCoroutineManager.StopCoroutine(coroutine); }
/// <summary> /// 暂停一个 Coroutine。该方法仅供扩展 MonoBehaviour 时使用。 /// </summary> /// <param name="coroutine">待暂停的 Coroutine 实例。</param> public static void PauseCoroutine(UMCoroutine coroutine) { coroutine.Pause(); }
/// <summary> /// 停止一个 Coroutine。该方法仅供扩展 MonoBehaviour 时使用。 /// </summary> /// <param name="coroutine">待停止的 Coroutine 实例。</param> public static void StopCoroutine(UMCoroutine coroutine) { coroutine.Stop(); }
/// <summary> /// 添加一个 Coroutine 到执行列表。该方法仅供扩展 MonoBehaviour 时使用。 /// </summary> /// <param name="coroutine">待添加的 UMCoroutine 的实例。</param> public static void AddCoroutine(UMCoroutine coroutine) { coroutinesToBeAdded.Add(coroutine); }
/// <summary> /// 恢复一个 Coroutine。该方法仅供扩展 MonoBehaviour 时使用。 /// </summary> /// <param name="coroutine">待恢复的 Coroutine 实例。</param> public static void ResumeCoroutine(UMCoroutine coroutine) { coroutine.Resume(); }