void StartLoad() { if (_nonCompleteLoaderSet.Count > 0) { List <AssetBundleLoader> loaders = new List <AssetBundleLoader>(_nonCompleteLoaderSet); for (int i = 0; i < loaders.Count; i++) { this.CheckNonCompleteDependLoaders(loaders[i]); } loaders = new List <AssetBundleLoader>(_nonCompleteLoaderSet); _nonCompleteLoaderSet.Clear(); var e = loaders.GetEnumerator(); while (e.MoveNext()) { _currentLoadQueue.Add(e.Current); } _progress = new AssetBundleLoadProgress(); _progress.total = _currentLoadQueue.Count; e = loaders.GetEnumerator(); while (e.MoveNext()) { e.Current.Load(); } } }
void CheckNewLoaders() { if (_nonCompleteLoaderSet.Count > 0) { List <AssetBundleLoader> loaders = ListPool <AssetBundleLoader> .Get(); loaders.AddRange(_nonCompleteLoaderSet); _nonCompleteLoaderSet.Clear(); var e = loaders.GetEnumerator(); while (e.MoveNext()) { _currentLoadQueue.Add(e.Current); } _progress = new AssetBundleLoadProgress(); _progress.total = _currentLoadQueue.Count; e = loaders.GetEnumerator(); while (e.MoveNext()) { e.Current.Start(); } ListPool <AssetBundleLoader> .Release(loaders); } }
void LoadAssetsCallback(AssetBundleLoadProgress handle) { if (handle.percent == 1 && null != m_onEnd) { m_onEnd(m_infos); } m_assetMgr.onProgress -= LoadAssetsCallback; m_infos.Clear(); m_onEnd = null; }
private void OnAssetProgress(AssetBundleLoadProgress progress) { mProcess = progress; }