| Main/System/Battle/BattleField/BattleField.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| Main/System/Battle/BattleField/StoryBattleField.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| Main/System/Battle/Buff/BattleObjectBuffMgr.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| Main/System/Battle/UIComp/BattleHeroInfoBar.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
Main/System/Battle/BattleField/BattleField.cs
@@ -899,4 +899,15 @@ { return isFocus; } public virtual void PlayBuffAction(RecordAction buffAction, bool insert) { var targetPlayer = PackageRegeditEx.GetTargetRecordPlayer(this); if (insert) targetPlayer.ImmediatelyPlay(buffAction); else targetPlayer.PlayRecord(buffAction); } } Main/System/Battle/BattleField/StoryBattleField.cs
@@ -362,4 +362,9 @@ return true; } public override void PlayBuffAction(RecordAction buffAction, bool insert) { buffAction.ForceFinish(); } } Main/System/Battle/Buff/BattleObjectBuffMgr.cs
@@ -158,12 +158,8 @@ // 原因:Buff移除可能是技能效果的一部分(技能内部触发),也可能是独立的(Buff自然到期) // 如果有当前RecordAction上下文,则使用innerRecordPlayer,确保Buff移除与技能生命周期绑定 // 否则使用BattleField的主RecordPlayer var targetPlayer = PackageRegeditEx.GetTargetRecordPlayer(battleObject.battleField); if (insert) targetPlayer.ImmediatelyPlay(buffRemoveAction); else targetPlayer.PlayRecord(buffRemoveAction); battleObject.battleField.PlayBuffAction(buffRemoveAction, insert); } // 刷新buff @@ -196,11 +192,7 @@ // 原因:Buff添加可能是技能效果的一部分(技能内部触发),也可能是独立的 // 如果有当前RecordAction上下文,则使用innerRecordPlayer // 否则使用BattleField的主RecordPlayer var targetPlayer = PackageRegeditEx.GetTargetRecordPlayer(battleObject.battleField); if (insert) targetPlayer.ImmediatelyPlay(buffMountAction); else targetPlayer.PlayRecord(buffMountAction); battleObject.battleField.PlayBuffAction(buffMountAction, insert); } else { @@ -245,11 +237,7 @@ // 原因:Buff批量添加可能是技能效果的一部分,也可能是独立的 // 如果有当前RecordAction上下文,则使用innerRecordPlayer // 否则使用BattleField的主RecordPlayer var targetPlayer = PackageRegeditEx.GetTargetRecordPlayer(battleObject.battleField); if (insert) targetPlayer.ImmediatelyPlay(buffMountAction); else targetPlayer.PlayRecord(buffMountAction); battleObject.battleField.PlayBuffAction(buffMountAction, insert); } // 处理只刷新数据的buff (IsAdd == 0) Main/System/Battle/UIComp/BattleHeroInfoBar.cs
@@ -85,6 +85,7 @@ heroInfoContainer.SetHeroInfo(heroBattleObject.teamHero); } CleanupTips(); InitBuff(); var buffMgr = battleObject.GetBuffMgr(); if (buffMgr != null) // 命格不有 buff @@ -120,6 +121,14 @@ // 打印设置护盾时的状态 // Debug.LogError($"[BattleHeroInfoBar.SetBattleObject] 设置护盾 - curHp: {curHp}, shieldValue: {shieldValue}, maxHp: {maxHp}, shield1前: {oldShield1Value}, shield1后: {shield1Value}, shield2前: {oldShield2Value}, shield2后: {shield2Value}"); } protected void InitBuff() { for (int i = 0; i < buffCells.Count; i++) { buffCells[i].SetActive(false); } } public void SetActive(bool active) { @@ -128,6 +137,10 @@ public void RefreshBuff(List<HB428_tagSCBuffRefresh> datas) { if (battleObject.battleField is StoryBattleField) { return; } if (buffCells == null) { for (int i = 0; i < buffCells.Count; i++)