Пример #1
0
        public AssetBundleLoader Load(string path, LoadAssetCompleteHandler handler = null)
        {
            AssetBundleLoader loader = this.CreateLoader(path);

            if (loader == null)
            {
                handler(null);
            }
            else if (loader.isComplete)
            {
                if (handler != null)
                {
                    handler(loader.bundleInfo);
                }
            }
            else
            {
                if (handler != null)
                {
                    loader.onComplete += handler;
                }
                _isCurrentLoading = true;

                if (loader.state < LoadState.State_Loading)
                {
                    _nonCompleteLoaderSet.Add(loader);
                }
                this.StartLoad();
            }
            return(loader);
        }
Пример #2
0
        /// <summary>
        /// 通过一个路径加载ab
        /// </summary>
        /// <param name="path">路径</param>
        /// <param name="prority">优先级</param>
        /// <param name="handler">回调</param>
        /// <returns></returns>
        public AssetBundleLoader Load(string path, int prority, LoadAssetCompleteHandler handler = null)
        {
#if _AB_MODE_
            AssetBundleLoader loader = this.CreateLoader(HashUtil.Get(path.ToLower()) + ".ab", path);
#else
            AssetBundleLoader loader = this.CreateLoader(path);
#endif
            loader.prority     = prority;
            loader.onComplete += handler;

            _isCurrentLoading = true;
            _nonCompleteLoaderSet.Add(loader);
            _thisTimeLoaderSet.Add(loader);

            return(loader);
        }
Пример #3
0
        /// <summary>
        /// 通过一个路径加载ab
        /// </summary>
        /// <param name="path">路径</param>
        /// <param name="prority">优先级</param>
        /// <param name="handler">回调</param>
        /// <returns></returns>
        public AssetBundleLoader Load(string path, int prority, LoadAssetCompleteHandler handler = null)
        {
#if _AB_MODE_
            AssetBundleLoader loader = this.CreateLoader(_depInfoReader.GetBundleAndAssetName(path, out var assetName), path);
#else
            AssetBundleLoader loader = this.CreateLoader(path);
#endif
            loader.prority = prority;
            loader.onComplete += handler;

            _isCurrentLoading = true;
            _nonCompleteLoaderSet.Add(loader);
            _thisTimeLoaderSet.Add(loader);

            return loader;
        }
Пример #4
0
        public AssetBundleLoader Load(string path, LoadAssetCompleteHandler handler = null)
        {
#if _AB_MODE_
            AssetBundleLoader loader = this.CreateLoader(HashUtil.Get(path.ToLower()) + ".ab", path);
#else
            AssetBundleLoader loader = this.CreateLoader(path);
#endif
            if (loader == null)
            {
                handler(null);
            }
            else
            {
                _thisTimeLoaderSet.Add(loader);
                if (loader.isComplete)
                {
                    if (handler != null)
                    {
                        handler(loader.bundleInfo);
                    }
                }
                else
                {
                    if (handler != null)
                    {
                        loader.onComplete += handler;
                    }
                    _isCurrentLoading = true;

                    if (loader.state < LoadState.State_Loading)
                    {
                        _nonCompleteLoaderSet.Add(loader);
                    }
                    this.StartLoad();
                }
            }
            return(loader);
        }
Пример #5
0
 /// <summary>
 /// 用默认优先级为0的值加载
 /// </summary>
 /// <param name="path">路径</param>
 /// <param name="handler">回调</param>
 /// <returns></returns>
 public AssetBundleLoader Load(string path, LoadAssetCompleteHandler handler = null)
 {
     return(Load(path, 0, handler));
 }
Пример #6
0
        /// <summary>
        /// 通过一个路径加载ab
        /// </summary>
        /// <param name="path">路径</param>
        /// <param name="prority">优先级</param>
        /// <param name="handler">回调</param>
        /// <returns></returns>
        public AssetBundleLoader Load(string path, int prority, LoadAssetCompleteHandler handler = null)
        {
#if _AB_MODE_
            AssetBundleLoader loader = this.CreateLoader(HashUtil.Get(path.ToLower()) + ".ab", path);
#else
            AssetBundleLoader loader = this.CreateLoader(path);
#endif
            loader.prority = prority;
            loader.onComplete += handler;

            _isCurrentLoading = true;
            _nonCompleteLoaderSet.Add(loader);
            _thisTimeLoaderSet.Add(loader);

            return loader;
        }
Пример #7
0
 /// <summary>
 /// 用默认优先级为0的值加载
 /// </summary>
 /// <param name="path">路径</param>
 /// <param name="handler">回调</param>
 /// <returns></returns>
 public AssetBundleLoader Load(string path, LoadAssetCompleteHandler handler = null)
 {
     return Load(path, 0, handler);
 }