| | |
| | | public T LoadAsset<T> (string directory, string name) where T : UnityEngine.Object |
| | | { |
| | | T asset = null; |
| | | |
| | | // 特殊处理 因为有一层图集的关系 directory要传入的应该是atlas的名字 |
| | | if (typeof(T) == typeof(Sprite)) |
| | | { |
| | |
| | | { |
| | | T asset = null; |
| | | |
| | | var path = string.Concat($"Assets/ResourcesOut/{directory}/{name}", GetExtension(typeof(T))).Replace("//", "/"); |
| | | var path = string.Concat($"Assets/ResourcesOut/{directory}/{name}", GetExtension(typeof(T))).Replace("//", "/").Trim().Replace("\\", "/"); |
| | | |
| | | if (AssetSource.uiFromEditor) |
| | | { |
| | |
| | | |
| | | if (asset == null) |
| | | { |
| | | Debug.LogErrorFormat("LoadAsset() => 加载不到资源: {0}.", name); |
| | | Debug.LogErrorFormat("LoadAsset() => 加载不到资源: {0}", path); |
| | | } |
| | | |
| | | return asset; |
| | |
| | | |
| | | private Sprite LoadSprite(string atlasName, string spriteName) |
| | | { |
| | | #if !UNITY_EDITOR |
| | | SpriteAtlas atlas = LoadAsset<SpriteAtlas>("Sprite", atlasName); |
| | | // #if !UNITY_EDITOR |
| | | SpriteAtlas atlas = LoadAsset<SpriteAtlas>("Sprite", atlasName.Replace("Sprite/", "")); |
| | | return atlas.GetSprite(spriteName); |
| | | #else |
| | | // 编辑器下可以直接加载没啥问题 |
| | | return LoadAssetInternal<Sprite>("Sprite/" + atlasName, spriteName); |
| | | #endif |
| | | // #else |
| | | // return ResManager.Instance.LoadAssetInternal<Sprite>(atlasName, spriteName); |
| | | // #endif |
| | | } |
| | | |
| | | public void LoadAssetAsync<T>(string directory, string name, Action<bool, UnityEngine.Object> callBack) where T : UnityEngine.Object |
| | |
| | | private void LoadSpriteAsync<T>(string atlasName, string spriteName, Action<bool, UnityEngine.Object> callBack) where T : UnityEngine.Object |
| | | { |
| | | #if !UNITY_EDITOR |
| | | LoadAssetAsync<SpriteAtlas>("Sprite", atlasName, (isLoaded, atlas) => { |
| | | LoadAssetAsync<SpriteAtlas>(atlasName, spriteName, (isLoaded, atlas) => { |
| | | if (isLoaded) |
| | | { |
| | | callBack?.Invoke(isLoaded, atlas.GetSprite(spriteName)); |
| | |
| | | }); |
| | | #else |
| | | // 编辑器下可以直接加载没啥问题 |
| | | LoadAssetAsyncInternal<T>("Sprite/" + atlasName, spriteName, callBack); |
| | | LoadAssetAsyncInternal<T>(atlasName, spriteName, callBack); |
| | | #endif |
| | | } |
| | | |