public int UF_LoadTextureAsync(string textureName, DelegateTexture callback) { var tex = RefObjectManager.UF_GetInstance().UF_GetRefObject <Texture2D>(textureName, false) as Texture2D; if (tex != null) { if (callback != null) { callback(tex); } } else { DelegateObject _loadfinish = delegate(UnityEngine.Object image) { Texture2D texture = image as Texture2D; if (texture != null) { RefObjectManager.UF_GetInstance().UF_RetainRef(texture); } if (callback != null) { callback(texture); } }; return(AssetSystem.UF_GetInstance().UF_AsyncLoadObjectImage(textureName, _loadfinish)); } return(0); }
public int UF_LoadTextureFromCacheOrDownload(string url, DelegateTexture methodCallback) { //解析出名字 string fileName = Path.GetFileNameWithoutExtension(url); string localfile = GlobalPath.TexturePath + fileName; //指定的url图片名字转化为本地图片名字 bool isWebToLocal = false; if (string.IsNullOrEmpty(fileName)) { return(0); } if (methodCallback == null) { Debug.LogWarning("LoadTextureFromCacheOrDownload with Not Callback, Invoke Method Failed"); return(0); } if (m_DicMapWebTextureToLocal.ContainsKey(fileName)) { fileName = m_DicMapWebTextureToLocal [fileName]; isWebToLocal = true; } var tex = RefObjectManager.UF_GetInstance().UF_LoadRefObject <Texture2D>(fileName, false) as Texture2D; if (tex != null) { if (methodCallback != null) { methodCallback(tex); } return(0); } if (isWebToLocal) { Texture2D image = UF_LoadTexture(fileName); if (image == null) { image = UF_LoadTextureLocal(GlobalPath.TexturePath + fileName); } if (methodCallback != null) { methodCallback(image); } return(0); } //检查本地是否存在缓存图片 if (File.Exists(localfile)) { // Debug.Log ("load form Cache:" + localfile); Texture2D t2d = UF_LoadTextureLocal(localfile); if (methodCallback != null) { methodCallback(t2d); } return(0); } else { // Debug.Log ("load form Web:" + url); if (!m_DicWebTextureRequeset.ContainsKey(fileName)) { m_DicWebTextureRequeset.Add(fileName, methodCallback); } else { m_DicWebTextureRequeset[fileName] += methodCallback; } return(FrameHandle.UF_AddCoroutine(UF_ILoadTextureFormWeb(url))); } }