From 602be2411564ab90514b5e3bdaf45804e01e76f7 Mon Sep 17 00:00:00 2001
From: yyl <yyl>
Date: 星期一, 02 二月 2026 14:39:33 +0800
Subject: [PATCH] 125 主线buff直接不显示的处理
---
Main/System/Battle/BattleField/BattleField.cs | 11 +++++++++++
Main/System/Battle/UIComp/BattleHeroInfoBar.cs | 13 +++++++++++++
Main/System/Battle/BattleField/StoryBattleField.cs | 5 +++++
Main/System/Battle/Buff/BattleObjectBuffMgr.cs | 18 +++---------------
4 files changed, 32 insertions(+), 15 deletions(-)
diff --git a/Main/System/Battle/BattleField/BattleField.cs b/Main/System/Battle/BattleField/BattleField.cs
index 598ae12..7b0ccb7 100644
--- a/Main/System/Battle/BattleField/BattleField.cs
+++ b/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);
+ }
+
+
}
diff --git a/Main/System/Battle/BattleField/StoryBattleField.cs b/Main/System/Battle/BattleField/StoryBattleField.cs
index 20d9f95..a29c749 100644
--- a/Main/System/Battle/BattleField/StoryBattleField.cs
+++ b/Main/System/Battle/BattleField/StoryBattleField.cs
@@ -362,4 +362,9 @@
return true;
}
+
+ public override void PlayBuffAction(RecordAction buffAction, bool insert)
+ {
+ buffAction.ForceFinish();
+ }
}
\ No newline at end of file
diff --git a/Main/System/Battle/Buff/BattleObjectBuffMgr.cs b/Main/System/Battle/Buff/BattleObjectBuffMgr.cs
index 6dcbb85..a1c406c 100644
--- a/Main/System/Battle/Buff/BattleObjectBuffMgr.cs
+++ b/Main/System/Battle/Buff/BattleObjectBuffMgr.cs
@@ -158,12 +158,8 @@
// 鍘熷洜锛欱uff绉婚櫎鍙兘鏄妧鑳芥晥鏋滅殑涓�閮ㄥ垎锛堟妧鑳藉唴閮ㄨЕ鍙戯級锛屼篃鍙兘鏄嫭绔嬬殑锛圔uff鑷劧鍒版湡锛�
// 濡傛灉鏈夊綋鍓峈ecordAction涓婁笅鏂囷紝鍒欎娇鐢╥nnerRecordPlayer锛岀‘淇滲uff绉婚櫎涓庢妧鑳界敓鍛藉懆鏈熺粦瀹�
// 鍚﹀垯浣跨敤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 @@
// 鍘熷洜锛欱uff娣诲姞鍙兘鏄妧鑳芥晥鏋滅殑涓�閮ㄥ垎锛堟妧鑳藉唴閮ㄨЕ鍙戯級锛屼篃鍙兘鏄嫭绔嬬殑
// 濡傛灉鏈夊綋鍓峈ecordAction涓婁笅鏂囷紝鍒欎娇鐢╥nnerRecordPlayer
// 鍚﹀垯浣跨敤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 @@
// 鍘熷洜锛欱uff鎵归噺娣诲姞鍙兘鏄妧鑳芥晥鏋滅殑涓�閮ㄥ垎锛屼篃鍙兘鏄嫭绔嬬殑
// 濡傛灉鏈夊綋鍓峈ecordAction涓婁笅鏂囷紝鍒欎娇鐢╥nnerRecordPlayer
// 鍚﹀垯浣跨敤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)
diff --git a/Main/System/Battle/UIComp/BattleHeroInfoBar.cs b/Main/System/Battle/UIComp/BattleHeroInfoBar.cs
index c40229b..2d477b1 100644
--- a/Main/System/Battle/UIComp/BattleHeroInfoBar.cs
+++ b/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++)
--
Gitblit v1.8.0