From 485db99b5c51a971c173664cf6e808dc8424b0a0 Mon Sep 17 00:00:00 2001 From: lcy <1459594991@qq.com> Date: 星期五, 17 十月 2025 17:19:51 +0800 Subject: [PATCH] 136 子 【挑战】战锤秘境 / 【挑战】战锤秘境-客户端 移除错误接入 --- Main/ResModule/ResManager.cs | 65 ++++++++++++++++++++++++-------- 1 files changed, 49 insertions(+), 16 deletions(-) diff --git a/Main/ResModule/ResManager.cs b/Main/ResModule/ResManager.cs index 7c96210..7445d6b 100644 --- a/Main/ResModule/ResManager.cs +++ b/Main/ResModule/ResManager.cs @@ -5,6 +5,9 @@ using System.IO; using UnityEngine.Video; using Spine.Unity; +using UnityEngine.UI; + + @@ -123,7 +126,7 @@ } #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鐨勫悕瀛� @@ -131,15 +134,26 @@ { 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 = ($"Assets/ResourcesOut/{directory}/{name}" + GetExtension(typeof(T))).Replace("//", "/").Trim().Replace("\\", "/"); if (!AssetSource.isUseAssetBundle) { #if UNITY_EDITOR @@ -148,10 +162,28 @@ } else { - if (directory == "UI" || directory == "UIComp" || directory.StartsWith("Sprite") || directory == "Battle/Prefabs") - { + 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; } @@ -183,15 +215,16 @@ 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 + 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)) @@ -200,7 +233,7 @@ 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 @@ -223,9 +256,9 @@ #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.isUseAssetBundle) { -- Gitblit v1.8.0