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