From 0462601d173c2cb74fb12a18a4ffcaa130febc34 Mon Sep 17 00:00:00 2001
From: hch <305670599@qq.com>
Date: 星期二, 16 九月 2025 22:25:38 +0800
Subject: [PATCH] 0312 下载之后才加载ui

---
 Main/ResModule/ResManager.cs |   44 ++++++++++++++++++++++++++++++++++++--------
 1 files changed, 36 insertions(+), 8 deletions(-)

diff --git a/Main/ResModule/ResManager.cs b/Main/ResModule/ResManager.cs
index e05b672..56bbfb3 100644
--- a/Main/ResModule/ResManager.cs
+++ b/Main/ResModule/ResManager.cs
@@ -131,6 +131,17 @@
         {
             return LoadSprite(directory, name) as T;
         }
+        else if (typeof(T) == typeof(SkeletonDataAsset))
+        {
+            //鏂囦欢鐩綍璋冩暣锛宯ame涓寘鍚簡璺緞
+            if (name.Contains("/"))
+            {
+                directory += name.Substring(0, name.LastIndexOf("/"));
+                name = name.Substring(name.LastIndexOf("/") + 1);
+            }
+
+            directory = directory.Replace("\\", "/");
+        }
 
         return LoadAssetInternal<T>(directory, name);
     }
@@ -148,6 +159,21 @@
         }
         else
         {
+            if (directory == "UI" || directory == "UIComp" || directory.StartsWith("Sprite")
+            || directory == "Battle/Prefabs" || directory == "Materials")
+            { 
+                directory = "UI/" + directory;
+            }
+            else if (name == "Hero_001")
+            {
+                directory = "UI/Hero/SpineRes";
+            }
+
+            else if (directory.Contains("Texture"))
+            {
+                directory = "maps/"+name;
+            }
+
             var assetInfo = new AssetInfo(directory.ToLower(), name.ToLower());
             asset = AssetBundleUtility.Instance.Sync_LoadAsset(assetInfo, typeof(T)) as T;
         }
@@ -171,7 +197,7 @@
         else
 #endif
         {
-            path = AssetVersionUtility.GetAssetFilePath($"Config/{name}.txt");
+            path = AssetVersionUtility.GetAssetFilePath($"config/{name}.txt");
         }
 
         return File.ReadAllLines(path);
@@ -179,12 +205,13 @@
 
     private Sprite LoadSprite(string atlasName, string spriteName)
     {
-#if !UNITY_EDITOR
-        SpriteAtlas atlas = LoadAsset<SpriteAtlas>("Sprite", atlasName.Replace("Sprite/", ""));
-        return atlas.GetSprite(spriteName);
-#else
-        return ResManager.Instance.LoadAssetInternal<Sprite>(atlasName, spriteName);
-#endif
+        if (!AssetSource.isUseAssetBundle)
+        { 
+            SpriteAtlas atlas = LoadAsset<SpriteAtlas>("Sprite", atlasName.Replace("Sprite/", ""));
+            return atlas.GetSprite(spriteName);
+        }
+        else
+            return LoadAssetInternal<Sprite>(atlasName, spriteName);
     }
 
     public void LoadAssetAsync<T>(string directory, string name, Action<bool, UnityEngine.Object> callBack) where T : UnityEngine.Object
@@ -205,7 +232,8 @@
         LoadAssetAsync<SpriteAtlas>(atlasName, spriteName, (isLoaded, atlas) => {
             if (isLoaded)
             {
-                callBack?.Invoke(isLoaded, atlas.GetSprite(spriteName));
+                SpriteAtlas _atlas = atlas as SpriteAtlas;
+                callBack?.Invoke(isLoaded, _atlas.GetSprite(spriteName));
             }
             else
             {

--
Gitblit v1.8.0