From 7fa46d2bf427f8216bf2b011cf65453e7aceebc8 Mon Sep 17 00:00:00 2001
From: lcy <1459594991@qq.com>
Date: 星期一, 06 七月 2026 19:19:23 +0800
Subject: [PATCH] 579 炼器大会 奖励界面和礼包界面修改

---
 Main/System/LianQi/LianQiRankAwardCell.cs |   57 +++++++++-------------------
 Main/System/LianQi/LianQiAwardWin.cs      |    5 ++
 2 files changed, 24 insertions(+), 38 deletions(-)

diff --git a/Main/System/LianQi/LianQiAwardWin.cs b/Main/System/LianQi/LianQiAwardWin.cs
index 7b3a4a0..ee977aa 100644
--- a/Main/System/LianQi/LianQiAwardWin.cs
+++ b/Main/System/LianQi/LianQiAwardWin.cs
@@ -3,11 +3,13 @@
 
 public class LianQiAwardWin : UIBase
 {
+    [SerializeField] ButtonEx closeButton;
     [SerializeField] ScrollerController awardScroller;
     [HideInInspector] public string valueFormat = "{0}";
     [SerializeField] TextEx myScore;//璇█琛細
     [SerializeField] TextEx myRank;
     [SerializeField] ScrollerController myAwardScroller;
+    [SerializeField] Transform noAward;
     [SerializeField] ButtonEx getButton;
     [SerializeField] ImageEx getImage;
     [SerializeField] ImageEx redImage;
@@ -18,6 +20,7 @@
     {
         base.InitComponent();
         getButton.SetListener(OnClickGetButton);
+        closeButton.SetListener(CloseWindow);
     }
 
     protected override void OnPreOpen()
@@ -93,6 +96,7 @@
         SetGetButtonState(hasRankRefresh && manager.CanHaveBillAward());
         if (hasAward && config != null)
         {
+            noAward.SetActive(false);
             myAwardScroller.SetActive(true);
             CreateMyAwardScroller(config.AwardItemList);
         }
@@ -101,6 +105,7 @@
             myAwardScroller.Refresh();
             myAwardScroller.Restart();
             myAwardScroller.SetActive(false);
+            noAward.SetActive(true);
         }
     }
 
diff --git a/Main/System/LianQi/LianQiRankAwardCell.cs b/Main/System/LianQi/LianQiRankAwardCell.cs
index 6e5471c..83c78bb 100644
--- a/Main/System/LianQi/LianQiRankAwardCell.cs
+++ b/Main/System/LianQi/LianQiRankAwardCell.cs
@@ -4,21 +4,17 @@
 {
     [SerializeField] ImageEx imgRank;
     [SerializeField] TextEx txtRank;
-    [SerializeField] ScrollerController itemScroller;
-
-    private void OnDisable()
-    {
-        UnbindItemScroller();
-    }
+    [SerializeField] ItemCell[] itemCells;
 
     public void Display(int rankA, int templateID)
     {
-        UnbindItemScroller();
         var config = ActBillboardAwardConfig.GetConfig(templateID, rankA);
         if (config == null)
         {
-            itemScroller.Refresh();
-            itemScroller.Restart();
+            for (int i = 0; i < itemCells.Length; i++)
+            {
+                itemCells[i].SetActive(false);
+            }
             return;
         }
 
@@ -37,36 +33,21 @@
             txtRank.text = Language.Get("Arena15", rankA, config.RankB);
         }
 
-        CreateItemScroller(config.AwardItemList);
-    }
-
-    private void CreateItemScroller(int[][] rewardArr)
-    {
-        itemScroller.OnRefreshCell += OnRefreshItemCell;
-        itemScroller.OnRefreshCompleteEvent += OnRefreshItemComplete;
-        itemScroller.Refresh();
-        for (int i = 0; i < rewardArr.Length; i++)
+        int[][] rewardArr = config.AwardItemList;
+        for (int i = 0; i < itemCells.Length; i++)
         {
-            CellInfo info = new CellInfo(rewardArr[i][0], rewardArr[i][1], null);
-            itemScroller.AddCell(ScrollerDataType.Header, i, info);
+            var itemCell = itemCells[i];
+            if (!rewardArr.IsNullOrEmpty() && i < rewardArr.Length)
+            {
+                int itemID = rewardArr[i][0];
+                itemCell.SetActive(true);
+                itemCell.Init(new ItemCellModel(itemID, true, rewardArr[i][1]));
+                itemCell.SetClickListener(() => ItemTipUtility.Show(itemID, true));
+            }
+            else
+            {
+                itemCell.SetActive(false);
+            }
         }
-        itemScroller.Restart();
-    }
-
-    private void OnRefreshItemComplete()
-    {
-        UnbindItemScroller();
-    }
-
-    private void OnRefreshItemCell(ScrollerDataType type, CellView cell)
-    {
-        var _cell = cell.GetComponent<LianQiRankAwardItemCell>();
-        _cell?.Display(cell);
-    }
-
-    private void UnbindItemScroller()
-    {
-        itemScroller.OnRefreshCell -= OnRefreshItemCell;
-        itemScroller.OnRefreshCompleteEvent -= OnRefreshItemComplete;
     }
 }

--
Gitblit v1.8.0