From 51b0f6ed9f4e1d3bb6f8144470b46908c7699a96 Mon Sep 17 00:00:00 2001
From: yyl <yyl>
Date: 星期一, 11 五月 2026 16:20:37 +0800
Subject: [PATCH] Merge branch 'master' into h5version
---
Main/ResModule/UILoader.cs | 128 ++++++++++--------------------------------
1 files changed, 31 insertions(+), 97 deletions(-)
diff --git a/Main/ResModule/UILoader.cs b/Main/ResModule/UILoader.cs
index 1c8f553..7cb52fa 100644
--- a/Main/ResModule/UILoader.cs
+++ b/Main/ResModule/UILoader.cs
@@ -6,108 +6,41 @@
using System.Threading;
using System.IO;
using UnityEngine.U2D;
+using UnityEngine.UI;
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);
- if (iconConfig == null)
- {
- return null;
- }
-
- 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);
- if (iconConfig == null)
- {
- 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 async UniTask LoadSprite(string directory, string name, Image image)
+ {
+ var sprite = await LoadSpriteAsync(directory, name);
+ if (null != sprite)
+ {
+ if (image != null)
+ {
+ image.overrideSprite = sprite;
+ }
+ }
+ }
+
+ public static async UniTask LoadSprite(string directory, string name, Image image, string failureName)
+ {
+ var sprite = await LoadSpriteAsync(directory, name);
+ if (image == null) return;
+ if (sprite != null)
+ {
+ image.overrideSprite = sprite;
+ }
+ else
+ {
+ image.SetSprite(failureName);
+ }
+ }
public static UniTask<GameObject> LoadWindowAsync(string name, CancellationToken ct = default)
{
@@ -145,9 +78,10 @@
StringUtility.Concat(ResourcesPath.UI_TEXTURE_SUFFIX, "/" + iconConfig.folder), iconConfig.sprite, ct: ct);
}
- public static UniTask<Texture2D> LoadTexture2DPNGAsync(string name, CancellationToken ct = default)
+ public static async UniTask<Texture2D> LoadTexture2DPNGAsync(string name, CancellationToken ct = default)
{
- return ResManager.Instance.LoadAssetAsync<Texture2D>(
- StringUtility.Concat(ResourcesPath.UI_TEXTURE_SUFFIX, "/FullScreenBg"), name + ".png", false, ct);
+ var path = StringUtility.Concat(ResourcesPath.UI_TEXTURE_SUFFIX, "/FullScreenBg");
+ var result = await ResManager.Instance.LoadAssetAsync<Texture2D>(path, name + ".png", false, ct);
+ return result;
}
}
--
Gitblit v1.8.0