| Main/Component/UI/Effect/BattleEffectPlayer.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| Main/System/Battle/BattleConst.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| Main/System/Battle/BattleField/BattleRootNode.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| Main/System/Battle/BattleObject/BattleObjectLayerMgr.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| Main/System/Battle/Buff/BattleObjectBuffMgr.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| Main/System/Battle/Skill/SkillBase.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
Main/Component/UI/Effect/BattleEffectPlayer.cs
@@ -228,9 +228,14 @@ bool isHeroFront = funcIsHeroFront(); int finalSortingOrder = isHeroFront ? (isEffectFront ? BattleConst.ActiveHeroActionSortingOrder + 1 : BattleConst.ActiveHeroBackSortingOrder) : (isEffectFront ? BattleConst.UnactiveHeroFrontSortingOrder : BattleConst.UnactiveHeroBackSortingOrder); int baseSortingOrder = isHeroFront ? BattleConst.SkillMaskOrder : BattleConst.BattleBackgroundOrder - BattleConst.BattleFrontHeroEffect - 1; // 区分是否在特效前面 还要再区分是否在UI前面 isBindBone int dynamicOffset = isBindBone ? BattleConst.BattleFrontHeroBehindUIEffect : (isEffectFront ? BattleConst.BattleFrontHeroEffect : BattleConst.BattleBehindHeroEffect); int finalSortingOrder = baseSortingOrder + dynamicOffset; blocker.SetSortingOrder(finalSortingOrder); } @@ -677,8 +682,15 @@ } } public void BindBone(SkeletonAnimation skeletonAnim, string v) public void BindBone(BattleObject battleObject, string v) { if (battleObject == null || battleObject.motionBase == null || battleObject.motionBase.skeletonAnim == null) { return; } var skeletonAnim = battleObject.motionBase.skeletonAnim; Bone bone = skeletonAnim.skeleton.FindBone(v); isBindBone = false; followedBone = null; @@ -692,6 +704,8 @@ isBindBone = true; followedBone = bone; ApplySortingOrder(); BoneFollower boneFollower = gameObject.AddMissingComponent<BoneFollower>(); boneFollower.boneName = v; boneFollower.skeletonRenderer = skeletonAnim; Main/System/Battle/BattleConst.cs
@@ -101,6 +101,33 @@ // 释放技能英雄>受影响英雄>正常UI>黑色蒙版>未受影响英雄>底图 // ----------------------2025 12/30更新 start // BattleBackground = -10 // BattleWinLayer 0 // { // BehindHeroUI = 1 Offset -2 // BehindHeroEffect = 2 -1 // UnactiveHero = BattleBackground + BattleHero = 3 0 // FrontUIEffect = 4 1 // BattleHeroUI = 5 2 // FrontHeroEffect = 6 3 // } // SkillMask = 10 // { // BehindHeroUI = 1 Offset -2 // BehindHeroEffect = 2 -1 // ActiveHero = SkillMask + BattleHero = 3 0 // FrontUIEffect = 4 1 // BattleHeroUI = 5 2 // FrontHeroEffect = 6 3 // } // BattleStartEffect = 30 // ----------------------2025 12/30更新 end //释放技能英雄>受影响英雄>[正常UI]>黑色蒙版>未受影响英雄>底图 public static int BattleWinSortingOrder @@ -136,89 +163,38 @@ } } public static int BattleBehindCharUIOffset = 1; //角色后面的UI 主要是阴影(处理) public static int BattleBehindHeroEffect = 2; //角色身后的特效(处理) public static int BattleHeroOffset = 3; //角色本身的层级(不需处理) public static int BattleActiveHeroOffset = 4; public static int BattleFrontHeroBehindUIEffect = 5; //角色身前的 但是UI后面特效 public static int BattleFrontCharUIOffset = 6; //角色身前的UI public static int BattleFrontHeroEffect = 7; //角色身前的特效 public static int SkillMaskOrder { get { return BattleWinSortingOrder + 10; } } // 释放技能英雄>受影响英雄>正常UI>黑色蒙版>未受影响英雄>[底图] public static int BattleBackgroundOrder { get { return BattleWinSortingOrder - 10; } } // 非激活英雄的后特效 public static int UnactiveHeroBackSortingOrder { get { return BattleBackgroundOrder + 1; } } //释放技能英雄>受影响英雄>正常UI>黑色蒙版>[未受影响英雄]>底图 // 非激活英雄的层级 public static int UnactiveHeroSortingOrder { get { return UnactiveHeroBackSortingOrder + 1; } } // 非激活英雄的前特效 public static int UnactiveHeroFrontSortingOrder { get { return UnactiveHeroSortingOrder + 1; } } //释放技能英雄>受影响英雄>正常UI>[黑色蒙版]>未受影响英雄>底图 // 黑色蒙版的层级 public static int BlockerSortingOrder { get { return UnactiveHeroFrontSortingOrder + 1; } } // 激活英雄的后特效 public static int ActiveHeroBackSortingOrder { get { return BlockerSortingOrder + 1; } } //释放技能英雄>[受影响英雄]>正常UI>黑色蒙版>未受影响英雄>底图 // 激活英雄的层级 public static int ActiveHeroSortingOrder { get { return ActiveHeroBackSortingOrder + 1; } } //[释放技能英雄]>受影响英雄>正常UI>黑色蒙版>未受影响英雄>底图 // 释放技能钟的英雄层级 public static int ActiveHeroActionSortingOrder { get { return ActiveHeroSortingOrder + 1; } } // 激活英雄的前特效 public static int ActiveHeroFrontSortingOrder { get { return ActiveHeroActionSortingOrder + 1; } } Main/System/Battle/BattleField/BattleRootNode.cs
@@ -68,8 +68,8 @@ public void SetSortingOrder() { skillMaskAdjuster.SetSortingOrder(BattleConst.BlockerSortingOrder); battleStartAdjuster.SetSortingOrder(BattleConst.BattleWinSortingOrder + 1);//最高层 skillMaskAdjuster.SetSortingOrder(BattleConst.SkillMaskOrder); battleStartAdjuster.SetSortingOrder(BattleConst.SkillMaskOrder + BattleConst.BattleFrontHeroEffect + 1);//最高层 backgroundAdjuster.SetSortingOrder(BattleConst.BattleBackgroundOrder);//最低层 } Main/System/Battle/BattleObject/BattleObjectLayerMgr.cs
@@ -5,7 +5,10 @@ { public BattleObject battleObj; public RendererAdjuster rendererAdjuster; // 角色阴影 头顶的血条国籍等 public RendererAdjuster frontCharRendererAdjuster; public RendererAdjuster behindCharRendererAdjuster; private List<BattleEffectPlayer> effectPlayers = new List<BattleEffectPlayer>(); @@ -19,14 +22,24 @@ public void Init(BattleObject battleObj) { this.battleObj = battleObj; rendererAdjuster = battleObj.heroGo.AddMissingComponent<RendererAdjuster>(); frontCharRendererAdjuster = battleObj.heroGo.AddMissingComponent<RendererAdjuster>(); behindCharRendererAdjuster = battleObj.heroRectTrans.Find("Hero/Follower/BattleHeroInfoBar/BehindHero").gameObject.AddMissingComponent<RendererAdjuster>(); frontCharRendererAdjuster.canvasOffset = BattleConst.BattleFrontCharUIOffset; behindCharRendererAdjuster.canvasOffset = BattleConst.BattleBehindCharUIOffset; } public void SetSortingOrder(int sortingOrder) { if (rendererAdjuster != null) if (frontCharRendererAdjuster != null) { rendererAdjuster.SetSortingOrder(sortingOrder); frontCharRendererAdjuster.SetSortingOrder(sortingOrder); } if (behindCharRendererAdjuster != null) { behindCharRendererAdjuster.SetSortingOrder(sortingOrder); } for (int i = 0; i < effectPlayers.Count; i++) @@ -71,8 +84,9 @@ effectPlayers[i].SetActive(isFront); } // 策划要在释放技能的时候 其他角色隐藏 这里在back的时候就直接设置成0 在最底下 看不到的地方 int order = isFront ? BattleConst.ActiveHeroSortingOrder : 0; //BattleConst.UnactiveHeroSortingOrder; SetSortingOrder(order); int baseOrder = isFront ? BattleConst.SkillMaskOrder : BattleConst.BattleBackgroundOrder; SetSortingOrder(baseOrder); } public bool IsFront() Main/System/Battle/Buff/BattleObjectBuffMgr.cs
@@ -284,7 +284,7 @@ BattleEffectPlayer effect = battleObject.battleField.battleEffectMgr .PlayEffect(battleObject, skillConfig.BuffEffect, battleObject.heroRectTrans, battleObject.Camp, battleObject.teamHero.modelScale); effect.BindBone(battleObject.motionBase.skeletonAnim, effect.effectConfig.nodeName); effect.BindBone(battleObject, effect.effectConfig.nodeName); var buffIdSet = new HashSet<uint> { buffRefresh.BuffID }; buffEffectDict.Add( Main/System/Battle/Skill/SkillBase.cs
@@ -536,7 +536,7 @@ // 高亮所有相关目标:设置施法者和目标的显示层级 protected void HighLightAllTargets() { caster.layerMgr.SetSortingOrder(BattleConst.ActiveHeroActionSortingOrder); caster.layerMgr.SetSortingOrder(BattleConst.SkillMaskOrder + BattleConst.BattleActiveHeroOffset); if (skillConfig.FuncType != 2) return;