From b1c0d3262972b8cc32441053e6183827cbb3fb7b Mon Sep 17 00:00:00 2001
From: yyl <yyl>
Date: 星期三, 15 十月 2025 16:16:12 +0800
Subject: [PATCH] 125 战斗 角色身上的buff特效要绑人物中心点(hit挂载点上),否者人物跳跃动作时会特效会脱离,特效配置上有一个绑定骨骼字段,需支持hit点(Buff特效)

---
 Main/System/Battle/Buff/BattleObjectBuffMgr.cs |   14 ++++++++++++--
 1 files changed, 12 insertions(+), 2 deletions(-)

diff --git a/Main/System/Battle/Buff/BattleObjectBuffMgr.cs b/Main/System/Battle/Buff/BattleObjectBuffMgr.cs
index e221da3..104fbcf 100644
--- a/Main/System/Battle/Buff/BattleObjectBuffMgr.cs
+++ b/Main/System/Battle/Buff/BattleObjectBuffMgr.cs
@@ -1,6 +1,7 @@
 using System;
 using System.Collections.Generic;
 using System.Linq;
+using Spine.Unity;
 using UnityEngine;
 
 
@@ -31,6 +32,10 @@
             BattleEffectPlayer effectPlayer = kv.Value.Key;
             if (null != effectPlayer)
             {
+                if (effectPlayer.isBindBone)
+                {
+                    continue;
+                }
                 effectPlayer.transform.position = battleObject.heroRectTrans.position;
                 var effectPos = effectPlayer.effectConfig.effectPos;
                 if (null != effectPos && effectPos.Length >= 2)
@@ -113,14 +118,14 @@
             return;
         }
 
-        bool isNew = false;
+        // bool isNew = false;
         if (buffDataDict.ContainsKey(vNetData.BuffID))
         {
             buffDataDict[vNetData.BuffID] = vNetData;
         }
         else
         {
-            isNew = true;
+            // isNew = true;
             buffDataDict.Add(vNetData.BuffID, vNetData);
         }
 
@@ -138,6 +143,11 @@
                     else
                     {
                         BattleEffectPlayer effect = battleObject.battleField.battleEffectMgr.PlayEffect(battleObject, skillConfig.BuffEffect, battleObject.heroRectTrans, battleObject.Camp);
+
+                        BoneFollower boneFollower = effect.AddMissingComponent<BoneFollower>();
+
+                        effect.BindBone(battleObject.motionBase.skeletonAnim, "hit");
+                        
                         HashSet<uint> buffIdSet = new HashSet<uint>();
                         buffIdSet.Add(vNetData.BuffID);
                         buffEffectDict.Add(skillConfig.BuffEffect, new KeyValuePair<BattleEffectPlayer, HashSet<uint>>(effect, buffIdSet));

--
Gitblit v1.8.0