Пример #1
0
    /// <summary>
    ///
    /// </summary>
    /// <param name="tmpProgress">加载时每帧回调</param>
    /// <param name="tmpFinish">完成时回调</param>
    public IABLoader(LoadProgrecess tmpProgress = null, LoadFinish tmpFinish = null)
    {
        this.bundleName              = "";
        this.commonBundlePath        = "";
        this.commonResLoaderProgress = 0;
        this.abResLoader             = null;

        this.loadProgrecess = tmpProgress;
        this.loadFinish     = tmpFinish;
    }
Пример #2
0
    /// <summary>
    ///
    /// </summary>
    /// <param name="bundleName">ab标签</param>
    /// <param name="tmpFinish">完成时回调</param>
    /// <param name="tmpProgress">加载时每帧回调</param>
    public IABLoader(string bundleName, LoadFinish tmpFinish = null, LoadProgrecess tmpProgress = null)
    {
        this.bundleName              = bundleName;
        this.commonBundlePath        = IPathTool.GetWWWAssetBundlePath() + "/" + bundleName;
        this.commonResLoaderProgress = 0;
        this.abResLoader             = null;

        this.loadProgrecess = tmpProgress;
        this.loadFinish     = tmpFinish;
    }
Пример #3
0
 /// <summary>
 /// 初始化
 /// </summary>
 /// <param name="bundleName">ab标签</param>
 /// <param name="progress">加载时回调</param>
 /// <param name="callback">回调</param>
 public void Init(string bundleName, LoadProgrecess progress, LoadAssetBundleCallBack callback)
 {
     if (allAsset.ContainsValue(bundleName))
     {
         abManager.Init(bundleName, progress, callback);
     }
     else
     {
         Debug.Log("Dont contain the bundle == " + bundleName);
     }
 }
Пример #4
0
        /// <summary>
        /// 加载
        /// </summary>
        /// <param name="sceneName"></param>
        /// <param name="bundleName"></param>
        /// <param name="progress"></param>
        public void LoadAsset(string sceneName, string bundleName, LoadProgrecess progress)
        {
            if (!dicLoadManager.ContainsKey(sceneName))
            {
                ReadConfiger(sceneName);
            }

            IABSceneManager tmpManager = dicLoadManager[sceneName];

            tmpManager.LoadAsset(bundleName, progress, LoadCallBack);
        }
Пример #5
0
        public IABLoader(LoadProgrecess loadProgress, loadFinished loadFinished)
        {
            bundleName        = "";
            commonBundlePath  = "";
            progress          = 0;
            this.loadProgress = null;
            this.loadFinished = null;
            www = null;

            this.loadProgress = loadProgress;
            this.loadFinished = loadFinished;
        }
Пример #6
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="bundleName">key</param>
 /// <param name="progrecess"></param>
 /// <param name="callBack"></param>
 public void LoadAsset(string bundleName, LoadProgrecess progrecess, LoadAssetBundleCallBack callBack)
 {
     if (dicAllAsset.ContainsKey(bundleName))
     {
         string tmpValue = dicAllAsset[bundleName];
         Debug.Log(tmpValue);
         abManager.LoadAssetBundle(tmpValue, progrecess, callBack);
     }
     else
     {
         Debug.Log("Dnot contain the bundle ==" + bundleName);
     }
 }
Пример #7
0
    /// <summary>
    /// 初始化(创建IABLoader)
    /// </summary>
    /// <param name="bundleName"></param>
    /// <param name="progress"></param>
    public void Initial(string bundleName, LoadFinish finish, LoadProgrecess progress)
    {
        IsLoadFinish      = false;
        this.bundleName   = bundleName;
        this.loadProgerss = progress;

        loadFinish = BundleLoadFinish;
        if (finish != null)
        {
            loadFinish += finish;
        }
        //创建包的加载对象
        abLoader = new IABLoader(bundleName, loadFinish, progress);
    }
Пример #8
0
        /// <summary>
        /// (外部调用)
        /// </summary>
        /// <param name="bundleName"></param>
        /// <param name="progrecess"></param>
        /// <param name="callBack"></param>
        public void LoadAssetBundle(string bundleName, LoadProgrecess progrecess, LoadAssetBundleCallBack callBack)
        {
            if (!loadHelper.ContainsKey(bundleName))
            {
                IABRelationManager loader = new IABRelationManager();

                loader.Init(bundleName, progrecess);

                loadHelper.Add(bundleName, loader);

                callBack(sceneName, bundleName);
            }
            else
            {
                Debug.Log("IABManager have contain bundle name ==" + bundleName);
            }
        }
Пример #9
0
        public void Init(string bundleName, LoadProgrecess loadProgress)
        {
            IsLoadFinish    = false;
            this.progrecess = loadProgress;
            this.bundleName = bundleName;
            assetLoader     = new IABLoader(loadProgress, LoadBundleFinish);

            assetLoader.SetBundleName(bundleName);

            Debug.Log(bundleName);
            string bundlePath = IPathTools.GetWWWAssetBundlePath() + "/" + bundleName;


            //  string bundlePath = "file:///E:/Windows" + "/" + bundleName;


            assetLoader.LoadResources(bundlePath);
        }
Пример #10
0
    /// <summary>
    /// 初始化 -- 创建包的资源加载器(未实际加载)
    /// </summary>
    /// <param name="bundleName">ab标签</param>
    /// <param name="progress">加载时每帧回调</param>
    /// <param name="callback">回调</param>
    public void Init(string bundleName, LoadProgrecess progress, LoadAssetBundleCallBack callback)
    {
        //如果没加载过
        if (!loadHelper.ContainsKey(bundleName))
        {
            IABRelationManager loader = new IABRelationManager();
            //加载
            loader.Initial(bundleName, null, progress);
            //添加到loadHelper
            loadHelper.Add(bundleName, loader);

            //提供给上层 启动 IEnumerator LoadAssetBundles(string BundleName) 返回当前场景名 ab标签名
            callback(scenceName, bundleName);
        }
        else
        {
            Debug.Log("IABManager has contain bundle name == " + bundleName);
        }
    }
Пример #11
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="bundleName"></param>
 /// <param name="progress"></param>
 public IABRelationManager(string bundleName, LoadFinish finish = null, LoadProgrecess progress = null)
 {
     dependenceBundle = new List <string>();
     referBundle      = new List <string>();
     Initial(bundleName, finish, progress);
 }
Пример #12
0
 private IEnumerator LoadAssetBundleDependences(string bundleName, string refName, LoadProgrecess progress)
 {
     if (!loadHelperDic.ContainsKey(bundleName))
     {
         IABRelationManager loader = new IABRelationManager();
         //初始化IABRelationManager  创建bundleName包的加载对象 progress加载的回调
         loader.Initial(bundleName, null, progress);
         if (refName != null)
         {
             loader.AddRefference(refName);
         }
         loadHelperDic.Add(bundleName, loader);
         yield return(LoadAssetBundles(bundleName));
     }
     else
     {
         if (refName != null)
         {
             IABRelationManager loader = loadHelperDic[bundleName];
             loader.AddRefference(bundleName);
         }
     }
 }
Пример #13
0
        public IEnumerator LoadAssetBundleDependences(string bundleName, string refName, LoadProgrecess progrecess)
        {
            if (!loadHelper.ContainsKey(bundleName))
            {
                IABRelationManager loader = new IABRelationManager();

                loader.Init(bundleName, progrecess);


                if (refName != null)
                {
                    loader.AddReference(refName);
                }

                loadHelper.Add(bundleName, loader);

                yield return(LoadAssetBundles(bundleName));
            }
            else
            {
                if (refName != null)
                {
                    IABRelationManager loader = loadHelper[bundleName];
                    loader.AddReference(bundleName);
                }
            }
        }
Пример #14
0
 public void OnLoad(LoadProgrecess tmpProgress)
 {
     this.loadProgrecess = tmpProgress;
 }