| Main/Component/UI/Effect/BattleEffectPlayer.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| Main/System/Battle/Buff/BattleObjectBuffMgr.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
Main/Component/UI/Effect/BattleEffectPlayer.cs
@@ -30,6 +30,8 @@ } } private Bone followedBone; public bool isBindBone = false; public bool isRedCamp = true; @@ -224,6 +226,31 @@ blocker.SetSortingOrder(finalSortingOrder); } } public void FollowBoneXY() { if (followedBone == null || !isBindBone) { return; } Vector2 vector2 = Vector2.zero; if (effectConfig.effectPos != null && effectConfig.effectPos.Length >= 2) { vector2 = new Vector2((isRedCamp ? 1f : -1f) * effectConfig.effectPos[0], effectConfig.effectPos[1]); } if (spineComp != null) { spineComp.transform.localPosition = new Vector3(followedBone.WorldX + vector2.x, followedBone.WorldY + vector2.y, 0); } if (effectTarget != null) { effectTarget.transform.localPosition = new Vector3(followedBone.WorldX + vector2.x, followedBone.WorldY + vector2.y, 0); } } @@ -638,6 +665,7 @@ } isBindBone = true; followedBone = bone; BoneFollower boneFollower = gameObject.AddMissingComponent<BoneFollower>(); boneFollower.boneName = v; Main/System/Battle/Buff/BattleObjectBuffMgr.cs
@@ -37,10 +37,11 @@ { if (effectPlayer.isBindBone) { continue; effectPlayer.FollowBoneXY(); return; } int[] effectPos = effectPlayer.effectConfig.effectPos; effectPlayer.transform.position = battleObject.heroRectTrans.position; var effectPos = effectPlayer.effectConfig.effectPos; if (null != effectPos && effectPos.Length >= 2) { effectPlayer.rectTrans.anchoredPosition += new Vector2(effectPos[0], effectPos[1]); @@ -158,7 +159,7 @@ BoneFollower boneFollower = effect.AddMissingComponent<BoneFollower>(); effect.BindBone(battleObject.motionBase.skeletonAnim, "hit"); effect.BindBone(battleObject.motionBase.skeletonAnim, effect.effectConfig.nodeName); HashSet<uint> buffIdSet = new HashSet<uint>(); buffIdSet.Add(vNetData.BuffID);