From 7d25ecd8f6f380be990ece667e5422b1ac5843a0 Mon Sep 17 00:00:00 2001
From: lcy <1459594991@qq.com>
Date: 星期一, 20 十月 2025 17:26:29 +0800
Subject: [PATCH] 143 演武场-客户端 布阵界面直接跳转到竞技场防御标签
---
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