/// <summary> /// (同步)加载精灵图片 /// </summary> /// <param name="url"></param> /// <param name="completeHandler"></param> /// <returns></returns> protected static SpriteLoader LoadAssetSync(Transform requestTarget, string url, System.Action <BaseAbstracResourceLoader> completeHandler) { if (string.IsNullOrEmpty(url)) { Debug.LogError(string.Format("Url Can't Be Null , TypeLoader={0}", typeof(SpriteLoader))); return(null); } bool isContainLoaders = false; SpriteLoader spriteLoader = ResourcesLoaderMgr.GetOrCreateLoaderInstance <SpriteLoader>(url, ref isContainLoaders); spriteLoader.m_OnCompleteAct.Add(completeHandler); spriteLoader.AddReference(requestTarget, url); if (isContainLoaders && spriteLoader.IsCompleted) { spriteLoader.LoadassetModel = LoadAssetModel.Sync; spriteLoader.OnCompleteLoad(spriteLoader.IsError, spriteLoader.Description, spriteLoader.ResultObj, spriteLoader.IsCompleted); return(spriteLoader); } if (spriteLoader.LoadassetModel == LoadAssetModel.Async) { spriteLoader.ForceBreakLoaderProcess(); } spriteLoader.LoadassetModel = LoadAssetModel.Sync; spriteLoader.m_LoadAssetCoroutine = null; spriteLoader.LoadSpriteAssetSync(url); return(spriteLoader); }
/// <summary> /// 卸载资源 /// </summary> /// <param name="url"></param> /// <param name="requestTarget"></param> public static void UnLoadAsset(string url, object requestTarget = null) { SpriteLoader spriteLoader = ResourcesLoaderMgr.GetExitLoaderInstance <SpriteLoader>(url); if (spriteLoader == null) { //Debug.LogError("无法获取指定类型的加载器 " + typeof(SpriteLoader)); return; } if (requestTarget == null) { requestTarget = spriteLoader.m_RequesterTarget; } spriteLoader.ReduceReference(spriteLoader, false); }