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();
 }