public void StopCoroutine(CCoroutine c, bool stopChild = true)
 {
     if (c != null)
     {
         bool flag = false;
         LinkedList <CCoroutine> .Enumerator enumerator = this.m_execlusiveCoroutineList.GetEnumerator();
         while (enumerator.MoveNext())
         {
             if (enumerator.get_Current() == c)
             {
                 flag = true;
                 break;
             }
         }
         if (!stopChild)
         {
             if (flag)
             {
                 this.m_execlusiveCoroutineList.Remove(enumerator.get_Current());
             }
             return;
         }
         if (flag)
         {
             for (CCoroutine value = this.m_execlusiveCoroutineList.get_Last().get_Value(); value != c; value = this.m_execlusiveCoroutineList.get_Last().get_Value())
             {
                 this.m_execlusiveCoroutineList.RemoveLast();
             }
             this.m_execlusiveCoroutineList.RemoveLast();
         }
     }
 }
    public CCoroutine StartCoroutine(IEnumerator coroutine)
    {
        CCoroutine cCoroutine = new CCoroutine(coroutine);

        this.m_execlusiveCoroutineList.AddLast(cCoroutine);
        return(cCoroutine);
    }
Exemple #3
0
 public void Load(GameLoader.LoadProgressDelegate progress, GameLoader.LoadCompleteDelegate finish)
 {
     if (this.isLoadStart)
     {
         return;
     }
     Debug.Log("GameLoader Start Load");
     this.LoadProgressEvent      = progress;
     this.LoadCompleteEvent      = finish;
     this._nProgress             = 0;
     this.isLoadStart            = true;
     this.m_handle_CoroutineLoad = Singleton <CCoroutineManager> .GetInstance().StartCoroutine(this.CoroutineLoad());
 }