private GameAssetResource GetAssetResource(string url, AssetPRI assetPRIType, bool bAssetInEditor) { GameAssetResource localAssetResource = null; if (!this.m_dicAllAssetRes.TryGetValue(url, out localAssetResource)) { localAssetResource = new GameAssetResource(url); localAssetResource.IsAssetInEditor = bAssetInEditor; if (this.m_allLoadFinishedEventHandler != null) { this.m_nSizeNeedToLoadFromStart++; } this.m_WWWqueue.Enqueue(localAssetResource); this.m_dicAllAssetRes.Add(url, localAssetResource); } return(localAssetResource); }
public IAssetRequest CreateAssetRequest(string strCompleteUrl, AssetRequestFinishedEventHandler callBackFun, AssetPRI assetPRIType, EnumAssetType eAssetType) { if (this.m_resourceManager == null) { AssetLogger.Error("null == m_resourceManager"); return(null); } IAssetRequest result = null; try { result = this.m_resourceManager.CreateAssetRequest(strCompleteUrl, callBackFun, assetPRIType, eAssetType); } catch (Exception ex) { AssetLogger.Fatal(ex.ToString()); } return(result); }
public IAssetRequest LoadTexture(string url, AssetRequestFinishedEventHandler callBackFun, AssetPRI assetPRIType) { if (string.IsNullOrEmpty(url)) { Debug.LogError("string.IsNullOrEmpty(url) == true"); return(null); } string text = string.Format("{0}/{1}.jpg", this.m_strBaseResDir, url); text = GameResourceManager.StandardlizePath(text); GameAssetResource assetResource = this.GetAssetResource(text, assetPRIType, true); return(new GameAssetRequest(assetResource, callBackFun)); }
public IAssetRequest CreateAssetRequest(string url, AssetRequestFinishedEventHandler callBackFun, AssetPRI assetPRIType, EnumAssetType eAssetType) { return(this.CreateAssetRequest(url, null, callBackFun, assetPRIType, eAssetType)); }
public IAssetRequest CreateAssetRequest(string assetUrl, List <string> dependes, AssetRequestFinishedEventHandler callBackFun, AssetPRI assetPRIType, EnumAssetType eAssetType) { if (string.IsNullOrEmpty(assetUrl)) { Debug.LogError("string.IsNullOrEmpty(assetUrl) == true"); return(null); } assetUrl = string.Format("{0}/{1}", this.m_strBaseResDir, assetUrl); assetUrl = GameResourceManager.StandardlizePath(assetUrl); GameAssetResource assetResource = this.GetAssetResource(assetUrl, assetPRIType, true); return(new GameAssetRequest(assetResource, callBackFun)); }
public IAssetRequest CreateAssetRequest(ResourceData resourceData, List <ResourceData> depResourceList, AssetRequestFinishedEventHandler callback, AssetPRI assetPRI) { if (resourceData == null) { return(null); } AssetLogger.Debug("CreateAssetRequest:" + resourceData.mResourceName); if (string.IsNullOrEmpty(resourceData.mPath)) { return(null); } LocalAssetCollectDepResource depResource = null; if (this.m_dicAssetCollectDepResource.TryGetValue(resourceData.mPath, out depResource)) { return(new LocalAssetRequest(depResource, callback)); } depResource = LocalAssetCollectDepResource.Create(); depResource.URL = resourceData.mPath; this.m_dicAssetCollectDepResource.Add(depResource.URL, depResource); if (depResourceList != null) { depResource.SetDepSize(depResourceList.Count);//初始化depAssetResource[],引用资源的数组 for (int i = 0; i < depResourceList.Count; i++) { ResourceData resourceData2 = depResourceList[i]; Debug.Log(resourceData2.mResourceName); LocalAssetResource assetResource = this.CreateAssetResource(resourceData2, new AssetLoadFinishedEventHandler(depResource.AssetComplete), assetPRI); depResource.AddDep(assetResource, i);//赋值depAssetResource[] Debug.Log(assetResource == null); } } LocalAssetResource asset = this.CreateAssetResource(resourceData, new AssetLoadFinishedEventHandler(depResource.AssetComplete), assetPRI); depResource.SetAsset(asset); depResource.EndCreate(); return(new LocalAssetRequest(depResource, callback)); }
public IAssetRequest LoadScene(string url, AssetRequestFinishedEventHandler callBackFun, AssetPRI assetPRIType) { if (string.IsNullOrEmpty(url)) { Debug.LogError("string.IsNullOrEmpty(url) == true"); return(null); } string url2 = string.Format("{0}/{1}.unity3d", this.m_strBaseResDir, url); GameAssetResource assetResource = this.GetAssetResource(url2, assetPRIType, true); return(new GameAssetRequest(assetResource, callBackFun)); }
public IAssetRequest CreateAssetRequest(string path, AssetRequestFinishedEventHandler callback, AssetPRI assetPRI, EnumAssetType assetType) { if (string.IsNullOrEmpty(path)) { AssetLogger.Error("string.IsNullOrEmpty(path) == true"); return(null); } string arg = Path.GetDirectoryName(path).ToLower(); string text = LocalResourceManager.ChangePathToFilenameWithoutExtension(path); path = string.Format("data/{0}/{1}.ab", arg, text); ResourceData resourceData = CollectDepResourceDataMap.RefResource(text, path, 0, assetType); return(this.CreateAssetRequest(resourceData, null, callback, assetPRI)); }
/// <summary> /// 创建需要加载的LocalAssetResource,如果存在就获取,添加到下载链表中 /// </summary> /// <param name="resource"></param> /// <param name="handler"></param> /// <param name="assetPRI"></param> /// <returns></returns> public LocalAssetResource CreateAssetResource(ResourceData resource, AssetLoadFinishedEventHandler handler, AssetPRI assetPRI) { if (resource == null) { return(null); } string mPath = resource.mPath; string key = Path.GetFileNameWithoutExtension(mPath).ToLower();//获取文件名,不包括扩展名 LocalAssetResource assetResource = new LocalAssetResource(resource); if (!this.m_dicAssetResoure.ContainsKey(key))//如果不包含这个资源,就创建资源然后添加到资源集合中 { assetResource = new LocalAssetResource(resource); assetResource.PRIType = assetPRI; this.m_dicAssetResoure.Add(key, assetResource); if (this.m_allLoadFinishedEventHandler != null) { this.m_total += assetResource.Size; } Debug.Log(assetResource.URL + "添加到下载链表!"); this.m_linkedListNeedToLoad.AddLast(assetResource);//把需要加载的资源添加到链表的最后 } else { assetResource = this.m_dicAssetResoure[key]; Debug.Log("之前已经加载过了:" + assetResource.URL); } if (handler != null && !assetResource.Canceled)//设置加载完成之后的委托 { assetResource.SetLoadFinishedHandler((AssetLoadFinishedEventHandler)Delegate.Combine(assetResource.GetLoadFinishedHandler(), handler)); } return(assetResource); }
public IAssetRequest LoadScene(string path, AssetRequestFinishedEventHandler callBackFun, AssetPRI assetPRIType) { IAssetRequest result; if (string.IsNullOrEmpty(path)) { AssetLogger.Error("string.IsNullOrEmpty(path) == true"); result = null; } else { string directoryName = Path.GetDirectoryName(path); string text = LocalResourceManager.ChangePathToFilenameWithoutExtension(path); path = string.Format("data/{0}/{1}.unity3d", directoryName, text); ResourceData resourceData = CollectDepResourceDataMap.RefResource(text, path, 0, EnumAssetType.eAssetType_Scene); result = this.CreateAssetRequest(resourceData, null, callBackFun, assetPRIType); } return(result); }
public IAssetRequest CreateAssetRequest(string path, AssetRequestFinishedEventHandler callback, AssetPRI assetPRI) { return(this.CreateAssetRequest(path, callback, assetPRI, EnumAssetType.eAssetType_AssetBundlePrefab)); }
/// <summary> /// 加载模型资源 /// </summary> /// <param name="path">Data/Model/HeroModel/{0}</param> /// <param name="callBackFun"></param> /// <param name="assetPRIType"></param> /// <returns></returns> public IAssetRequest LoadModel(string path, AssetRequestFinishedEventHandler callBackFun, AssetPRI assetPRIType) { IAssetRequest result; if (string.IsNullOrEmpty(path)) { AssetLogger.Error("string.IsNullOrEmpty(path) == true"); result = null; } else { string name = LocalResourceManager.ChangePathToFilenameWithoutExtension(path); ResourceData resourceData = null; List <ResourceData> dependes = null; CollectDepResourceData collectDepResourceData = this.m_DicModelResourceData.GetCollectDepResourceData(name, out resourceData, out dependes); if (null != collectDepResourceData) { result = this.CreateAssetRequest(resourceData, dependes, callBackFun, assetPRIType); } else { AssetLogger.Error(string.Format("null == collectDepResourceData:{0}", path)); result = null; } } return(result); }
public IAssetRequest LoadEffect(string path, AssetRequestFinishedEventHandler callback, AssetPRI assetPRI) { if (string.IsNullOrEmpty(path)) { AssetLogger.Error("string.IsNullOrEmpty(path) == true"); return(null); } string name = LocalResourceManager.ChangePathToFilenameWithoutExtension(path); ResourceData resourceData = null; List <ResourceData> list = null; CollectDepResourceData collectDepResourceData = this.m_DicEffectReourceData.GetCollectDepResourceData(name, out resourceData, out list); if (collectDepResourceData != null) { return(this.CreateAssetRequest(resourceData, list, callback, assetPRI)); } AssetLogger.Error(string.Format("null == collectDepResourceData:{0}", path)); return(null); }
/// <summary> /// 加载UI资源 /// </summary> /// <param name="path"></param> /// <param name="callback"></param> /// <param name="assetPRI"></param> /// <returns></returns> public IAssetRequest LoadUI(string path, AssetRequestFinishedEventHandler callback, AssetPRI assetPRI) { if (string.IsNullOrEmpty(path)) { AssetLogger.Error("string.IsNullOrEmpty(path) == true"); return(null); } string text = LocalResourceManager.ChangePathToFilenameWithoutExtension(path);//路径转成文件名不带后缀 ResourceData resourceData = null; List <ResourceData> dependes = null; CollectDepResourceData collectDepResourceData = this.m_DicUIResourceData.GetCollectDepResourceData(text, out resourceData, out dependes); if (collectDepResourceData != null) { return(this.CreateAssetRequest(resourceData, dependes, callback, assetPRI));//创建请求资源实例 } AssetLogger.Error(string.Format("null == collectDepResourceData:{0}", text)); return(null); }
public IAssetRequest LoadEffect(string relativeUrl, AssetRequestFinishedEventHandler callBackFun, AssetPRI assetPRIType) { if (this.m_resourceManager == null) { AssetLogger.Error("null == m_resourceManager"); return(null); } IAssetRequest result = null; try { result = this.m_resourceManager.LoadEffect(relativeUrl, callBackFun, assetPRIType); } catch (Exception ex) { AssetLogger.Fatal(ex.ToString()); } return(result); }
public IAssetRequest LoadAudio(string url, AssetRequestFinishedEventHandler callBackFun, AssetPRI assetPRIType) { if (string.IsNullOrEmpty(url)) { Debug.LogError("string.IsNullOrEmpty(url) == true"); return(null); } string text = string.Format("{0}/{1}", this.m_strBaseResDir, url); try { if (!Path.HasExtension(text)) { text = Path.ChangeExtension(text, ".mp3"); } } catch (Exception ex) { XLog.Log.Fatal(ex.Message); } text = GameResourceManager.StandardlizePath(text); GameAssetResource assetResource = this.GetAssetResource(text, assetPRIType, true); return(new GameAssetRequest(assetResource, callBackFun)); }
public IAssetRequest LoadScene(string relativeUrl, AssetRequestFinishedEventHandler callBackFun, AssetPRI assetPRIType) { IAssetRequest result; if (null == this.m_resourceManager) { AssetLogger.Error("null == m_resourceManager"); result = null; } else { IAssetRequest assetRequest = null; try { assetRequest = this.m_resourceManager.LoadScene(relativeUrl, callBackFun, assetPRIType); } catch (Exception ex) { AssetLogger.Fatal(ex.ToString()); } result = assetRequest; } return(result); }
public IAssetRequest LoadResAsyn(string url, AssetRequestFinishedEventHandler callBackFun, AssetPRI assetPRIType) { if (this.m_loadResAsynEventHandler != null) { return(this.m_loadResAsynEventHandler(url, callBackFun, assetPRIType)); } Debug.LogError("null == m_loadUIAsynEventHandler"); return(null); }