From 4fde46699701b1a8b74b4dab516624852b24a86d Mon Sep 17 00:00:00 2001
From: yyl <yyl>
Date: 星期一, 23 六月 2025 14:24:50 +0800
Subject: [PATCH] Merge branch 'master' of http://192.168.1.20:10010/r/Project_SG_scripts

---
 Main/ResModule/ResManager.cs |   29 +++++++++++++++--------------
 1 files changed, 15 insertions(+), 14 deletions(-)

diff --git a/Main/ResModule/ResManager.cs b/Main/ResModule/ResManager.cs
index 0f40ef0..b8318cb 100644
--- a/Main/ResModule/ResManager.cs
+++ b/Main/ResModule/ResManager.cs
@@ -1,4 +1,4 @@
-using UnityEngine;
+锘縰sing UnityEngine;
 using System.Collections;
 using System.Collections.Generic;
 using Cysharp.Threading.Tasks;
@@ -8,6 +8,8 @@
 using System.IO;
 using UnityEngine.Networking;
 using UnityEngine.Video;
+using System.Reflection;
+
 
 
 #if UNITY_EDITOR
@@ -126,7 +128,6 @@
     public T LoadAsset<T> (string directory, string name) where T : UnityEngine.Object
     {
         T asset = null;
-
         //  鐗规畩澶勭悊 鍥犱负鏈変竴灞傚浘闆嗙殑鍏崇郴 directory瑕佷紶鍏ョ殑搴旇鏄痑tlas鐨勫悕瀛�
         if (typeof(T) == typeof(Sprite))
         {
@@ -140,11 +141,12 @@
     {
         T asset = null;
 
-        var path = string.Concat($"Assets/ResourcesOut/{directory}/{name}", GetExtension(typeof(T))).Replace("//", "/");
-
-        if (AssetSource.uiFromEditor)
+        var path = ($"Assets/ResourcesOut/{directory}/{name}" + GetExtension(typeof(T))).Replace("//", "/").Trim().Replace("\\", "/");
+        if (!AssetSource.isUseAssetBundle)
         {
 #if UNITY_EDITOR
+            //  TODO YYL 杩樻槸瑕佹壘鍒板瓧绗︿覆闂
+            path = System.Text.RegularExpressions.Regex.Replace(path, @"[\p{C}]", "");
             asset = UnityEditor.AssetDatabase.LoadAssetAtPath<T>(path);
 #endif
         }
@@ -156,7 +158,7 @@
 
         if (asset == null)
         {
-            Debug.LogErrorFormat("LoadAsset() => 鍔犺浇涓嶅埌璧勬簮: {0}.", name);
+            Debug.LogErrorFormat("LoadAsset() => 鍔犺浇涓嶅埌璧勬簮: {0}", path);
         }
 
         return asset;
@@ -165,11 +167,10 @@
     private Sprite LoadSprite(string atlasName, string spriteName)
     {
 #if !UNITY_EDITOR
-        SpriteAtlas atlas = LoadAsset<SpriteAtlas>("Sprite", atlasName);
+        SpriteAtlas atlas = LoadAsset<SpriteAtlas>("Sprite", atlasName.Replace("Sprite/", ""));
         return atlas.GetSprite(spriteName);
 #else
-        //  缂栬緫鍣ㄤ笅鍙互鐩存帴鍔犺浇娌″暐闂
-        return LoadAssetInternal<Sprite>("Sprite/" + atlasName, spriteName);
+        return ResManager.Instance.LoadAssetInternal<Sprite>(atlasName, spriteName);
 #endif
     }
 
@@ -188,7 +189,7 @@
     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));
@@ -200,7 +201,7 @@
         });
 #else
         //  缂栬緫鍣ㄤ笅鍙互鐩存帴鍔犺浇娌″暐闂
-        LoadAssetAsyncInternal<T>("Sprite/" + atlasName, spriteName, callBack);
+        LoadAssetAsyncInternal<T>(atlasName, spriteName, callBack);
 #endif
     }
 
@@ -208,7 +209,7 @@
     {
         var path = string.Concat($"Assets/ResourcesOut/{directory}/{name}", GetExtension(typeof(T))).Replace("//", "/");
 
-        if (AssetSource.uiFromEditor)
+        if (!AssetSource.isUseAssetBundle)
         {
 #if UNITY_EDITOR
             var asset = UnityEditor.AssetDatabase.LoadAssetAtPath<T>(path);
@@ -224,7 +225,7 @@
 
     public void UnloadAsset(string assetBundleName, string assetName)
     {
-        if (AssetSource.uiFromEditor)
+        if (!AssetSource.isUseAssetBundle)
             return;
 
         AssetBundleUtility.Instance.UnloadAsset(assetBundleName, assetName);
@@ -232,7 +233,7 @@
 
     public void UnloadAssetBundle(string assetBundleName, bool unloadAllLoadedObjects, bool includeDependenice)
     {
-        if (AssetSource.uiFromEditor)
+        if (!AssetSource.isUseAssetBundle)
             return;
         AssetBundleUtility.Instance.UnloadAssetBundle(assetBundleName, unloadAllLoadedObjects, includeDependenice);
     }

--
Gitblit v1.8.0