コード例 #1
0
    public static void LoadEffectInQueue(int id, LoadFinishCallback delFinish, object param1 = null)
    {
        LoadCompleteCallBackParameter data = new LoadCompleteCallBackParameter();

        data.Parameter1 = param1;
        ResourcesManager.Instance.Load(id, EResourceType.Effect, data, delFinish);
    }
コード例 #2
0
    public static void LoadModelInQueue(int id, EResourceType type, LoadFinishCallback delFinish, object param1, object param2, object param3)
    {
        LoadCompleteCallBackParameter data = new LoadCompleteCallBackParameter();

        data.Parameter1 = param1;
        data.Parameter2 = param2;
        data.Parameter3 = param3;
        ResourcesManager.Instance.Load(id, type, data, delFinish);
    }
コード例 #3
0
 private static bool LoadModelToRoot(int id, EResourceType type, LoadFinishCallback callback, GameObject root, object parameter2, object parameter3)
 {
     if (callback == null)
     {
         LogModule.ErrorLog("LoadModelToRoot called but callback == null!");
         return(false);
     }
     BundleManager.LoadModelInQueue(id, type, callback, root, parameter2, parameter3);
     return(true);
 }
コード例 #4
0
ファイル: ResAssurer.cs プロジェクト: Vin129/VEFramework
 protected override void OnFail2Load()
 {
     Log.E("OnFail2Load:{0}", AssetPath);
     Log.E(ErrorMessage);
     if (LoadFinishCallback != null)
     {
         LoadFinishCallback.Invoke(null);
         LoadFinishCallback = null;
     }
     if (LoadSuccessCallback != null)
     {
         LoadFailCallback.Invoke(this);
     }
 }
コード例 #5
0
ファイル: ResAssurer.cs プロジェクト: Vin129/VEFramework
        protected override void OnSuccess2Load()
        {
            Log.I("OnSuccess2Load:{0}", AssetPath);

            if (LoadFinishCallback != null)
            {
                LoadFinishCallback.Invoke(this);
                LoadFinishCallback = null;
            }
            if (LoadSuccessCallback != null)
            {
                LoadSuccessCallback.Invoke(this);
            }
        }
コード例 #6
0
        /// <summary>
        /// 加载完成有回调
        /// </summary>
        /// <param name="id"></param>
        /// <param name="type"></param>
        /// <param name="condition"></param>
        /// <param name="loadComplete"></param>
        /// <param name="loadFailed"></param>
        /// <returns></returns>
        public void Load(int id, EResourceType type, LoadCompleteCallBackParameter parameter, LoadFinishCallback loadComplete = null, Func <bool> condition = null, Action <string> loadFailed = null)
        {
            string url = _pathManager.GetPath(id, type);

            if (condition == null)
            {
                condition = () => true;
            }
            if (string.IsNullOrEmpty(url))
            {
                LogModule.ErrorLog("Retrive Failed Because url is null or empty : {0}  And ResourceType: {1}", url, type);
                if (loadFailed != null)
                {
                    if (condition())
                    {
                        loadFailed("Load Failed");
                    }
                }
                return;
            }
            Object obj = GetCached(url, type);

            if (obj != null)
            {
                if (loadComplete != null && condition())
                {
                    LoadedObjData callBackData;
                    callBackData.Url       = url;
                    callBackData.LoadedObj = obj;
                    loadComplete(callBackData, parameter);
                }
                return;
            }

            //var loader = _assetManager.Retrieve(type, _pathManager.GetPath(id, type)) ?? LoadFromCacheOrDownload(id, type);
            var loader = _assetManager.Retrieve(type, url) ?? LoadFromCacheOrDownload(url, type);

            if (loader.IsWaiting() || loader.IsLoading())
            {
                if (loadComplete != null)
                {
                    loader.EventLoadingComplete += (e) =>
                    {
                        if (condition())
                        {
                            LoadedObjData callBackData;
                            callBackData.Url       = url;
                            callBackData.LoadedObj = e.AssetBundle.mainAsset;
                            loadComplete(callBackData, parameter);
                        }
                        else
                        {
                            LogModule.WarningLog("Cancel Callback cause Condition is false: " + e.Path);
                        }
                    };
                }
                if (loadFailed != null)
                {
                    loader.EventLoadingFailed += (e) =>
                    {
                        if (condition())
                        {
                            loadFailed("Load Failed");
                        }
                    };
                }
            }
            else if (loader.IsLoaded())
            {
                if (loadComplete != null)
                {
                    if (condition())
                    {
                        LoadedObjData callBackData;
                        callBackData.Url       = url;
                        callBackData.LoadedObj = loader.AssetBundle.mainAsset;
                        loadComplete(callBackData, parameter);
                    }
                }
                if (loadFailed != null)
                {
                    if (condition())
                    {
                        loader.EventLoadingFailed += e => loadFailed(null);
                    }
                }
            }
            return;
        }