From a38e02687f52e6d81e6fb6c1dcbf85ee76938325 Mon Sep 17 00:00:00 2001
From: yyl <yyl>
Date: 星期三, 24 十二月 2025 14:23:43 +0800
Subject: [PATCH] 125 战斗 修复因为自己技能造成自身死亡的卡死问题
---
Main/ResModule/ResManager.cs | 34 ++++++++++++++++++++++++++++------
1 files changed, 28 insertions(+), 6 deletions(-)
diff --git a/Main/ResModule/ResManager.cs b/Main/ResModule/ResManager.cs
index a6a580a..48f61f6 100644
--- a/Main/ResModule/ResManager.cs
+++ b/Main/ResModule/ResManager.cs
@@ -70,7 +70,7 @@
{typeof(Sprite), "png"},
{typeof(Texture2D), "jpg"},
{typeof(Texture), "jpg"},
- { typeof(Shader), "shader"},
+ {typeof(Shader), "shader"},
{typeof(TextAsset), "txt"},
{typeof(AudioClip), "wav"},
{typeof(Font), "ttf"},
@@ -126,8 +126,11 @@
}
#endif
- public T LoadAsset<T> (string directory, string name, bool needExt = true) where T : UnityEngine.Object
+ //needExt 鏄惁闇�瑕佸嚱鏁板唴閮ㄦ坊鍔犲悗缂�
+ public T LoadAsset<T>(string directory, string name, bool needExt = true) where T : UnityEngine.Object
{
+ directory = directory.Replace("\\", "/");
+ name = name.Replace("\\", "/");
T asset = null;
// 鐗规畩澶勭悊 鍥犱负鏈変竴灞傚浘闆嗙殑鍏崇郴 directory瑕佷紶鍏ョ殑搴旇鏄痑tlas鐨勫悕瀛�
if (typeof(T) == typeof(Sprite))
@@ -143,12 +146,12 @@
name = name.Substring(name.LastIndexOf("/") + 1);
}
- directory = directory.Replace("\\", "/");
}
return LoadAssetInternal<T>(directory, name, needExt);
}
+ //needExt 鏄惁闇�瑕佸嚱鏁板唴閮ㄦ坊鍔犲悗缂�
private T LoadAssetInternal<T>(string directory, string name, bool needExt = true) where T : UnityEngine.Object
{
T asset = null;
@@ -162,9 +165,15 @@
}
else
{
+ if (!needExt)
+ {
+ //澶栭儴鐢ㄥ埌鐨勮嚜宸卞姞鍚庣紑锛屽唴閮ㄧ粺涓�鍘婚櫎鍚庣紑鍚�
+ name = name.Substring(0, name.LastIndexOf("."));
+ }
+ //TODO: 涓存椂鐗规畩澶勭悊鎵撳寘鍚庣殑璺緞璇诲彇
if (directory == "UI" || directory == "UIComp" || directory.StartsWith("Sprite")
|| directory == "Battle/Prefabs" || directory == "Materials")
- {
+ {
directory = "UI/" + directory;
}
else if (name == "Hero_001")
@@ -174,8 +183,13 @@
else if (directory.Contains("Texture"))
{
- directory = "maps/"+name;
+ directory = "maps/" + name;
}
+ else if (directory.Contains("Shader"))
+ {
+ directory = "graphic/shader";
+ }
+
var assetInfo = new AssetInfo(directory.ToLower(), name.ToLower());
asset = AssetBundleUtility.Instance.Sync_LoadAsset(assetInfo, typeof(T)) as T;
@@ -209,16 +223,24 @@
private Sprite LoadSprite(string atlasName, string spriteName)
{
if (!AssetSource.isUseAssetBundle)
- {
+ {
SpriteAtlas atlas = LoadAsset<SpriteAtlas>("Sprite", atlasName.Replace("Sprite/", ""));
+ if (null == atlas)
+ {
+ return null;
+ }
return atlas.GetSprite(spriteName);
}
else
return LoadAssetInternal<Sprite>(atlasName, spriteName);
}
+ //needExt 鏄惁闇�瑕佸嚱鏁板唴閮ㄦ坊鍔犲悗缂�
public void LoadAssetAsync<T>(string directory, string name, Action<bool, UnityEngine.Object> callBack, bool needExt = true) where T : UnityEngine.Object
{
+ directory = directory.Replace("\\", "/");
+ name = name.Replace("\\", "/");
+
// 鐗规畩澶勭悊 鍥犱负鏈変竴灞傚浘闆嗙殑鍏崇郴 directory瑕佷紶鍏ョ殑搴旇鏄痑tlas鐨勫悕瀛�
if (typeof(T) == typeof(Sprite))
{
--
Gitblit v1.8.0