From 5f728e2633e8e20ebafc4e534fe7e7362362c839 Mon Sep 17 00:00:00 2001
From: yyl <yyl>
Date: 星期四, 04 十二月 2025 11:58:07 +0800
Subject: [PATCH] Merge branch 'master' of http://192.168.1.20:10010/r/Project_SG_scripts

---
 Main/Component/UI/Effect/BattleEffectPlayer.cs |   30 ++++++++++++++++++++++++------
 1 files changed, 24 insertions(+), 6 deletions(-)

diff --git a/Main/Component/UI/Effect/BattleEffectPlayer.cs b/Main/Component/UI/Effect/BattleEffectPlayer.cs
index 8dbbc57..6faac2c 100644
--- a/Main/Component/UI/Effect/BattleEffectPlayer.cs
+++ b/Main/Component/UI/Effect/BattleEffectPlayer.cs
@@ -102,6 +102,8 @@
 
     public GameObjectPoolManager.GameObjectPool pool;
 
+    public BattleField battleField;
+
     public Action onComplete;
 
     private bool isPlaying = false;
@@ -222,7 +224,7 @@
             bool isHeroFront = funcIsHeroFront();
 
             int finalSortingOrder = isHeroFront ?
-                (isEffectFront ? BattleConst.ActiveHeroActionSortingOrder : BattleConst.ActiveHeroBackSortingOrder) : (isEffectFront ? BattleConst.UnactiveHeroFrontSortingOrder : BattleConst.UnactiveHeroBackSortingOrder);
+                (isEffectFront ? BattleConst.ActiveHeroActionSortingOrder + 1 : BattleConst.ActiveHeroBackSortingOrder) : (isEffectFront ? BattleConst.UnactiveHeroFrontSortingOrder : BattleConst.UnactiveHeroBackSortingOrder);
 
 
             blocker.SetSortingOrder(finalSortingOrder);
@@ -343,20 +345,35 @@
         {
             PlayUnityEffect();
         }
+
+        battleField?.soundManager.PlayEffectSound(effectConfig.audio);
+
         OnAlphaChanged();
     }
 
     protected void PlaySpineEffect()
     {
-        //  杩欓噷鏄函spine鐨勯�昏緫
-
         if (spineComp == null)
         {
             Debug.LogError("BattleEffectPlayer spineComp is null, effect id is " + effectId);
             return;
         }
 
-        SkeletonDataAsset skeletonDataAsset = ResManager.Instance.LoadAsset<SkeletonDataAsset>("UIEffect/" + effectConfig.packageName, effectConfig.fxName);
+        // ===== 绠�鍖栵細鐩存帴浠庣紦瀛樿幏鍙栵紝缂撳瓨鍐呴儴浼氳嚜鍔ㄥ姞杞� =====
+        string directory = "UIEffect/" + effectConfig.packageName;
+        SkeletonDataAsset skeletonDataAsset = BattleResManager.Instance.GetSpineResource(
+            directory, 
+            effectConfig.fxName,
+            battleField?.guid
+        );
+        
+        if (skeletonDataAsset == null)
+        {
+            Debug.LogError($"BattleEffectPlayer: Failed to load effect spine {effectConfig.fxName}");
+            return;
+        }
+        // ================================
+
         spineComp.skeletonDataAsset = skeletonDataAsset;
         spineComp.Initialize(true);
         spineComp.timeScale = speedRate;
@@ -415,7 +432,7 @@
         }
 
         // 浠庣壒鏁堥鍒朵綋姹犺幏鍙栫壒鏁�
-        pool = GameObjectPoolManager.Instance.RequestPool(effectPrefab);
+        pool = GameObjectPoolManager.Instance.GetPool(effectPrefab);
         effectTarget = pool.Request();
         // 璁剧疆鐖惰妭鐐瑰拰浣嶇疆
         effectTarget.transform.SetParent(transform);
@@ -518,7 +535,7 @@
 
 
     //  鍒涘缓鍚庣殑鐗规晥浼氳嚜鍔ㄩ殣钘� 闇�瑕佹墜鍔ㄨ皟鐢≒lay鎵嶈兘鎾斁
-    public static BattleEffectPlayer Create(int effectId, Transform parent, bool isRedCamp)
+    public static BattleEffectPlayer Create(int effectId, BattleField _battleField, Transform parent, bool isRedCamp)
     {
         // 鐩存帴鍒涘缓鐗规晥鎾斁鍣紝涓嶄娇鐢ㄥ璞℃睜
         BattleEffectPlayer battleEffectPlayer = null;
@@ -526,6 +543,7 @@
         GameObject newGo = new GameObject("BattleEffectPlayer_" + effectId);
         newGo.transform.SetParent(parent, false);
         battleEffectPlayer = newGo.AddComponent<BattleEffectPlayer>();
+        battleEffectPlayer.battleField = _battleField;
         battleEffectPlayer.rectTrans = newGo.AddMissingComponent<RectTransform>();
         
         battleEffectPlayer.effectId = effectId;

--
Gitblit v1.8.0