/// <summary> /// 队列加载当前缓存中的数据 /// </summary> private void loadByQueue() { if (cachesLoadIngs.Count <= 0) { return; } LoadIngInfo loadIngInfo = LoaderUtils.getLoadinfInfo(cachesLoadIngs); if (loadIngInfo == null) { return; } BaseLoader baseLoader = LoaderUtils.createLoader(loadIngInfo, this.gameObject); ///找不到对应的加载器 if (baseLoader == null) { return; } currentLoadingNumber += 1; loadIngInfo.isLoading = true; loadIngInfo.currentLoader = baseLoader; baseLoader.onLoadError = onLoadErrorHandler; baseLoader.onLoadComplete = onLoadCompleteHandler; baseLoader.onLoadProgress = onLoadProgressHandler; baseLoader.loadAsset(loadIngInfo.assetPath); }
/// <summary> /// 销毁加载所用到的角本 /// </summary> /// <param name="baseLoader">Base loader.</param> private void destroyLoader(BaseLoader baseLoader) { if (this.isInMapEditor == true) //地图编辑器模式下面加载数据 { DestroyImmediate(baseLoader); return; } Destroy(baseLoader); }
/// <summary> /// 创建加载类 /// </summary> /// <returns>The loader.</returns> /// <param name="loadIngInfo">Load ing info.</param> public static BaseLoader createLoader(QueueLoader.LoadIngInfo loadIngInfo, GameObject gameObject) { if (loadIngInfo == null || loadIngInfo.dataFormate == null) { return(null); } if (loadTypes.ContainsKey(loadIngInfo.dataFormate) == false) { return(null); } Type loaderType = loadTypes[loadIngInfo.dataFormate]; if (loaderType == null) { return(null); } BaseLoader resultLoader = gameObject.AddComponent(loaderType) as BaseLoader; //;Activator.CreateInstance (loaderType.GetType()); return(resultLoader); }