From 3bd7f56906e31e8fe0072108c9d4652707b51de8 Mon Sep 17 00:00:00 2001
From: yyl <yyl>
Date: 星期二, 21 十月 2025 17:59:00 +0800
Subject: [PATCH] 125 战斗 战斗UI

---
 Main/System/Battle/UIComp/BattleHeroInfoBar.cs |   41 ++++++++++++++++++-----------------------
 1 files changed, 18 insertions(+), 23 deletions(-)

diff --git a/Main/System/Battle/UIComp/BattleHeroInfoBar.cs b/Main/System/Battle/UIComp/BattleHeroInfoBar.cs
index eebee91..87e73fe 100644
--- a/Main/System/Battle/UIComp/BattleHeroInfoBar.cs
+++ b/Main/System/Battle/UIComp/BattleHeroInfoBar.cs
@@ -18,7 +18,7 @@
     public float PopUpInterval = 0.2f;
 
 
-    // public List<BattleBuffCell> buffCells = new List<BattleBuffCell>();
+    [SerializeField] public List<BattleBuffCell> buffCells = new List<BattleBuffCell>();
 
     protected List<string> messages = new List<string>();
 
@@ -34,40 +34,42 @@
 
     protected List<HB428_tagSCBuffRefresh> buffList = new List<HB428_tagSCBuffRefresh>();
 
-    public ScrollerController scroller;
 
     public void SetBattleObject(BattleObject _battleObject)
     {
         battleObject = _battleObject;
         heroInfoContainer.SetHeroInfo(battleObject.teamHero);
-        RefreshBuff(buffList);
+        RefreshBuff(battleObject.buffMgr.GetBuffList());
         UpdateHP(battleObject.teamHero.curHp, battleObject.teamHero.curHp, battleObject.teamHero.maxHp, false);
         UpdateXP(battleObject.teamHero.rage, battleObject.teamHero.rage, 100, false);
     }
 
     public void RefreshBuff(List<HB428_tagSCBuffRefresh> datas)
     {
-        buffList = datas;
-        //  鏇存柊buff鍥炬爣 or 鍒涘缓鏂扮殑buff鍥炬爣
-        scroller.Refresh();
-        for (int i = 0; i < buffList.Count; i++)
+        if (buffCells.IsNullOrEmpty())
+            return;
+
+
+        for (int i = 0; i < buffCells.Count; i++)
         {
-            if (i % 5 == 0)
+            if (i < datas.Count)
             {
-                scroller.AddCell(ScrollerDataType.Header, i);
+                buffCells[i].SetActive(true);
+                HB428_tagSCBuffRefresh buffData = datas[i];
+                buffCells[i].Init(buffData, () =>
+                {
+                    //  鐐瑰嚮buff鍥炬爣 鏄剧ずbuff鎻忚堪/褰撳墠韬笂鎵�鏈塨uff
+                });
+            }
+            else
+            {
+                buffCells[i].SetActive(false);
             }
         }
-        scroller.Restart();
-    }
-
-    protected void OnEnable()
-    {
-        scroller.OnRefreshCell += OnRefreshCell;        
     }
 
     protected void OnDisable()
     {
-        scroller.OnRefreshCell -= OnRefreshCell;     
         //  TODO YYL 鑰冭檻姹犲寲
         messages.Clear();
         for (int i = 0; i < tipsList.Count; i++)
@@ -78,13 +80,6 @@
         }
         tipsList.Clear();
     }
-
-    protected void OnRefreshCell(ScrollerDataType type, CellView cell)
-    {
-        var _cell = cell as BattleBuffLineCell;
-        _cell.Display(buffList, cell.index);
-    }
-
     public void ShowTips(string message)
     {
         messages.Add(message);

--
Gitblit v1.8.0