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