void StartLoader(params ILoader[] loaders) { if (loaders == null || loaders.Length == 0) { CLog.Error("错误,没有Loader"); return; } foreach (var item in loaders) { loderList.Add(item); } IsLoadEnd = false; SelfMono.StartCoroutine(IEnumerator_Load()); }
IEnumerator IEnumerator_Load() { yield return(new WaitForEndOfFrame()); Callback_OnStartLoad?.Invoke(); for (int i = 0; i < loderList.Count; ++i) { LoadInfo = loderList[i].GetLoadInfo(); CurLoader = loderList[i]; yield return(SelfMono.StartCoroutine(loderList[i].Load())); Percent = (i / (float)loderList.Count); } yield return(new WaitForEndOfFrame()); Percent = 1.0f; IsLoadEnd = true; Callback_OnLoadEnd?.Invoke(LoadEndType.Success, LoadInfo); Callback_OnAllLoadEnd1?.Invoke(); Callback_OnAllLoadEnd2?.Invoke(); CurLoader = null; CLog.Info("All loaded!!"); }