| | |
| | | using System.Collections.Generic; |
| | | using UnityEngine; |
| | | using System; |
| | | |
| | | using Cysharp.Threading.Tasks; |
| | | using System.Threading; |
| | | using System.IO; |
| | | using UnityEngine.U2D; |
| | | |
| | | |
| | | public class UILoader |
| | | { |
| | | [System.Obsolete("US2: Use LoadWindowAsync instead.")] |
| | | public static GameObject LoadWindow(string name) |
| | | { |
| | | #pragma warning disable CS0618 |
| | | return ResManager.Instance.LoadAsset<GameObject>(ResourcesPath.UI_WINDOW_SUFFIX, name); |
| | | #pragma warning restore CS0618 |
| | | } |
| | | |
| | | [System.Obsolete("US2: Use LoadPrefabAsync instead.")] |
| | | public static GameObject LoadPrefab(string _name) |
| | | { |
| | | #pragma warning disable CS0618 |
| | | return ResManager.Instance.LoadAsset<GameObject>(ResourcesPath.UI_PREFAB_SUFFIX, _name); |
| | | #pragma warning restore CS0618 |
| | | } |
| | | |
| | | [System.Obsolete("US2: Use YooAssetService.ReleaseHandle or UnloadUnusedAssetsAsync instead.")] |
| | | public static void UnLoadPrefab(string _assetName) |
| | | { |
| | | #pragma warning disable CS0618 |
| | | ResManager.Instance.UnloadAsset(ResourcesPath.UI_PREFAB_SUFFIX, _assetName); |
| | | #pragma warning restore CS0618 |
| | | } |
| | | |
| | | //通过ICON表加载 |
| | | [System.Obsolete("US2: Use LoadSpriteAsync instead.")] |
| | | public static Sprite LoadSprite(string _iconKey) |
| | | { |
| | | var iconConfig = IconConfig.Get(_iconKey); |
| | |
| | | return LoadSprite(iconConfig.folder, iconConfig.sprite); |
| | | } |
| | | |
| | | [System.Obsolete("US2: Use LoadSpriteAsync instead.")] |
| | | public static Sprite LoadSprite(string _folder, string _file) |
| | | { |
| | | #pragma warning disable CS0618 |
| | | return ResManager.Instance.LoadAsset<Sprite>(StringUtility.Concat(ResourcesPath.UI_SPRITE_SUFFIX, "/", _folder), _file); |
| | | #pragma warning restore CS0618 |
| | | } |
| | | |
| | | [System.Obsolete("US2: Use YooAssetService.ReleaseHandle instead.")] |
| | | public static void UnLoadSprite(string _iconKey) |
| | | { |
| | | var iconConfig = IconConfig.Get(_iconKey); |
| | | if (iconConfig != null) |
| | | { |
| | | var bundleName = StringUtility.Concat(ResourcesPath.UI_SPRITE_SUFFIX, "/", iconConfig.folder); |
| | | #pragma warning disable CS0618 |
| | | ResManager.Instance.UnloadAsset(bundleName, iconConfig.sprite); |
| | | #pragma warning restore CS0618 |
| | | } |
| | | } |
| | | |
| | | [System.Obsolete("US2: Use LoadFontAsync instead.")] |
| | | public static Font LoadFont(string _fontName) |
| | | { |
| | | #pragma warning disable CS0618 |
| | | return ResManager.Instance.LoadAsset<Font>(ResourcesPath.UI_FONT_SUFFIX, _fontName); |
| | | #pragma warning restore CS0618 |
| | | } |
| | | |
| | | [System.Obsolete("US2: Use YooAssetService.ReleaseHandle instead.")] |
| | | public static void UnLoadFont(string _fontName) |
| | | { |
| | | #pragma warning disable CS0618 |
| | | ResManager.Instance.UnloadAsset(ResourcesPath.UI_FONT_SUFFIX, _fontName); |
| | | #pragma warning restore CS0618 |
| | | } |
| | | |
| | | [System.Obsolete("US2: Use LoadTexture2DAsync instead.")] |
| | | public static Texture2D LoadTexture2D(string _iconKey) |
| | | { |
| | | var iconConfig = IconConfig.Get(_iconKey); |
| | |
| | | { |
| | | return null; |
| | | } |
| | | #pragma warning disable CS0618 |
| | | return ResManager.Instance.LoadAsset<Texture2D>(StringUtility.Concat(ResourcesPath.UI_TEXTURE_SUFFIX, "/" + iconConfig.folder), iconConfig.sprite); |
| | | #pragma warning restore CS0618 |
| | | } |
| | | |
| | | [System.Obsolete("US2: Use LoadTexture2DPNGAsync instead.")] |
| | | public static Texture2D LoadTexture2DPNG(string name) |
| | | { |
| | | #pragma warning disable CS0618 |
| | | return ResManager.Instance.LoadAsset<Texture2D>(StringUtility.Concat(ResourcesPath.UI_TEXTURE_SUFFIX, "/FullScreenBg"), name + ".png", false); |
| | | #pragma warning restore CS0618 |
| | | } |
| | | |
| | | // ==================================================================== |
| | | // US2: Async UniTask variants |
| | | // ==================================================================== |
| | | |
| | | public static UniTask<GameObject> LoadWindowAsync(string name, CancellationToken ct = default) |
| | | { |
| | | return ResManager.Instance.LoadAssetAsync<GameObject>(ResourcesPath.UI_WINDOW_SUFFIX, name, ct: ct); |
| | | } |
| | | |
| | | public static UniTask<GameObject> LoadPrefabAsync(string _name, CancellationToken ct = default) |
| | | { |
| | | return ResManager.Instance.LoadAssetAsync<GameObject>(ResourcesPath.UI_PREFAB_SUFFIX, _name, ct: ct); |
| | | } |
| | | |
| | | public static async UniTask<Sprite> LoadSpriteAsync(string _iconKey, CancellationToken ct = default) |
| | | { |
| | | var iconConfig = IconConfig.Get(_iconKey); |
| | | if (iconConfig == null) return null; |
| | | return await LoadSpriteAsync(iconConfig.folder, iconConfig.sprite, ct); |
| | | } |
| | | |
| | | public static UniTask<Sprite> LoadSpriteAsync(string _folder, string _file, CancellationToken ct = default) |
| | | { |
| | | return ResManager.Instance.LoadAssetAsync<Sprite>( |
| | | StringUtility.Concat(ResourcesPath.UI_SPRITE_SUFFIX, "/", _folder), _file, ct: ct); |
| | | } |
| | | |
| | | public static UniTask<Font> LoadFontAsync(string _fontName, CancellationToken ct = default) |
| | | { |
| | | return ResManager.Instance.LoadAssetAsync<Font>(ResourcesPath.UI_FONT_SUFFIX, _fontName, ct: ct); |
| | | } |
| | | |
| | | public static async UniTask<Texture2D> LoadTexture2DAsync(string _iconKey, CancellationToken ct = default) |
| | | { |
| | | var iconConfig = IconConfig.Get(_iconKey); |
| | | if (iconConfig == null) return null; |
| | | return await ResManager.Instance.LoadAssetAsync<Texture2D>( |
| | | StringUtility.Concat(ResourcesPath.UI_TEXTURE_SUFFIX, "/" + iconConfig.folder), iconConfig.sprite, ct: ct); |
| | | } |
| | | |
| | | public static UniTask<Texture2D> LoadTexture2DPNGAsync(string name, CancellationToken ct = default) |
| | | { |
| | | return ResManager.Instance.LoadAssetAsync<Texture2D>( |
| | | StringUtility.Concat(ResourcesPath.UI_TEXTURE_SUFFIX, "/FullScreenBg"), name + ".png", false, ct); |
| | | } |
| | | } |