From cb653cf75b17b9bdca0b5b9e6b88edf1ca72e90c Mon Sep 17 00:00:00 2001
From: hch <305670599@qq.com>
Date: 星期五, 17 十月 2025 09:54:11 +0800
Subject: [PATCH] 0312 删除旧的日常代码3

---
 Main/ResModule/ResManager.cs |  116 ++++++++++++++++++++++++++++++++++++++++++----------------
 1 files changed, 84 insertions(+), 32 deletions(-)

diff --git a/Main/ResModule/ResManager.cs b/Main/ResModule/ResManager.cs
index 0f40ef0..7445d6b 100644
--- a/Main/ResModule/ResManager.cs
+++ b/Main/ResModule/ResManager.cs
@@ -1,13 +1,14 @@
-using UnityEngine;
-using System.Collections;
+锘縰sing UnityEngine;
 using System.Collections.Generic;
-using Cysharp.Threading.Tasks;
 using System;
 using UnityEngine.U2D;
-using LitJson;
 using System.IO;
-using UnityEngine.Networking;
 using UnityEngine.Video;
+using Spine.Unity;
+using UnityEngine.UI;
+
+
+
 
 
 #if UNITY_EDITOR
@@ -67,14 +68,16 @@
     {
         {typeof(GameObject), "prefab"},
         {typeof(Sprite), "png"},
-        {typeof(Texture2D), "png"},
-        {typeof(Shader), "shader"},
+        {typeof(Texture2D), "jpg"},
+        {typeof(Texture), "jpg"},
+        { typeof(Shader), "shader"},
         {typeof(TextAsset), "txt"},
         {typeof(AudioClip), "wav"},
         {typeof(Font), "ttf"},
         {typeof(Material), "mat"},
         {typeof(VideoClip), "mp4"},
         {typeof(SpriteAtlas), "spriteatlasv2"},
+        {typeof(SkeletonDataAsset), "asset"},
     };
 
 
@@ -123,26 +126,35 @@
     }
 #endif
 
-    public T LoadAsset<T> (string directory, string name) where T : UnityEngine.Object
+    public T LoadAsset<T> (string directory, string name, bool needExt = true) where T : UnityEngine.Object
     {
         T asset = null;
-
         //  鐗规畩澶勭悊 鍥犱负鏈変竴灞傚浘闆嗙殑鍏崇郴 directory瑕佷紶鍏ョ殑搴旇鏄痑tlas鐨勫悕瀛�
         if (typeof(T) == typeof(Sprite))
         {
             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);
+            }
 
-        return LoadAssetInternal<T>(directory, name);
+            directory = directory.Replace("\\", "/");
+        }
+
+        return LoadAssetInternal<T>(directory, name, needExt);
     }
 
-    private T LoadAssetInternal<T>(string directory, string name) where T : UnityEngine.Object
+    private T LoadAssetInternal<T>(string directory, string name, bool needExt = true) where T : UnityEngine.Object
     {
         T asset = null;
+        var path = ($"Assets/ResourcesOut/{directory}/{name}" + (needExt ? GetExtension(typeof(T)) : "")).Replace("//", "/").Trim().Replace("\\", "/");
 
-        var path = string.Concat($"Assets/ResourcesOut/{directory}/{name}", GetExtension(typeof(T))).Replace("//", "/");
-
-        if (AssetSource.uiFromEditor)
+        if (!AssetSource.isUseAssetBundle)
         {
 #if UNITY_EDITOR
             asset = UnityEditor.AssetDatabase.LoadAssetAtPath<T>(path);
@@ -150,30 +162,69 @@
         }
         else
         {
+            if (!needExt)
+            {
+                //澶栭儴鐢ㄥ埌鐨勮嚜宸卞姞鍚庣紑锛屽唴閮ㄧ粺涓�鍘婚櫎鍚庣紑鍚�
+                name = name.Substring(0, name.LastIndexOf("."));
+            }
+
+            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;
         }
 
         if (asset == null)
         {
-            Debug.LogErrorFormat("LoadAsset() => 鍔犺浇涓嶅埌璧勬簮: {0}.", name);
+            Debug.LogErrorFormat("LoadAsset() => 鍔犺浇涓嶅埌璧勬簮: {0}", path);
         }
 
         return asset;
     }
 
-    private Sprite LoadSprite(string atlasName, string spriteName)
+    public string[] LoadConfig(string name)
     {
-#if !UNITY_EDITOR
-        SpriteAtlas atlas = LoadAsset<SpriteAtlas>("Sprite", atlasName);
-        return atlas.GetSprite(spriteName);
-#else
-        //  缂栬緫鍣ㄤ笅鍙互鐩存帴鍔犺浇娌″暐闂
-        return LoadAssetInternal<Sprite>("Sprite/" + atlasName, spriteName);
+        string path = string.Empty;
+#if UNITY_EDITOR
+        if (!AssetSource.isUseAssetBundle)
+        {
+            path = ResourcesPath.CONFIG_FODLER + "/" + name + ".txt";
+        }
+        else
 #endif
+        {
+            path = AssetVersionUtility.GetAssetFilePath($"config/{name}.txt");
+        }
+
+        return File.ReadAllLines(path);
     }
 
-    public void LoadAssetAsync<T>(string directory, string name, Action<bool, UnityEngine.Object> callBack) where T : UnityEngine.Object
+    private Sprite LoadSprite(string atlasName, string spriteName)
+    {
+        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, bool needExt = true) where T : UnityEngine.Object
     {
         //  鐗规畩澶勭悊 鍥犱负鏈変竴灞傚浘闆嗙殑鍏崇郴 directory瑕佷紶鍏ョ殑搴旇鏄痑tlas鐨勫悕瀛�
         if (typeof(T) == typeof(Sprite))
@@ -182,16 +233,17 @@
             return;
         }
 
-        LoadAssetAsyncInternal<T>(directory, name, callBack);
+        LoadAssetAsyncInternal<T>(directory, name, callBack, needExt);
     }
 
     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));
+                SpriteAtlas _atlas = atlas as SpriteAtlas;
+                callBack?.Invoke(isLoaded, _atlas.GetSprite(spriteName));
             }
             else
             {
@@ -200,15 +252,15 @@
         });
 #else
         //  缂栬緫鍣ㄤ笅鍙互鐩存帴鍔犺浇娌″暐闂
-        LoadAssetAsyncInternal<T>("Sprite/" + atlasName, spriteName, callBack);
+        LoadAssetAsyncInternal<T>(atlasName, spriteName, callBack);
 #endif
     }
 
-    private void LoadAssetAsyncInternal<T>(string directory, string name, Action<bool, UnityEngine.Object> callBack) where T : UnityEngine.Object
+    private void LoadAssetAsyncInternal<T>(string directory, string name, Action<bool, UnityEngine.Object> callBack, bool needExt = true) where T : UnityEngine.Object
     {
-        var path = string.Concat($"Assets/ResourcesOut/{directory}/{name}", GetExtension(typeof(T))).Replace("//", "/");
+        var path = string.Concat($"Assets/ResourcesOut/{directory}/{name}", (needExt ? GetExtension(typeof(T)) : "")).Replace("//", "/");
 
-        if (AssetSource.uiFromEditor)
+        if (!AssetSource.isUseAssetBundle)
         {
 #if UNITY_EDITOR
             var asset = UnityEditor.AssetDatabase.LoadAssetAtPath<T>(path);
@@ -224,7 +276,7 @@
 
     public void UnloadAsset(string assetBundleName, string assetName)
     {
-        if (AssetSource.uiFromEditor)
+        if (!AssetSource.isUseAssetBundle)
             return;
 
         AssetBundleUtility.Instance.UnloadAsset(assetBundleName, assetName);
@@ -232,7 +284,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