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