示例#1
0
        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);
        }
    }
示例#3
0
        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;
        }
示例#4
0
 private void OnAssetProgress(AssetBundleLoadProgress progress)
 {
     mProcess = progress;
 }