From b2247a4904cadf87f5a438d86dccf8d7424a59f2 Mon Sep 17 00:00:00 2001
From: lcy <1459594991@qq.com>
Date: 星期二, 30 十二月 2025 14:34:19 +0800
Subject: [PATCH] 382 武将宿缘-客户端 优化箱子礼包预览

---
 Main/System/ItemTip/BoxItemWin.cs |   49 +++++++++++++++++++++++++++++++++----------------
 1 files changed, 33 insertions(+), 16 deletions(-)

diff --git a/Main/System/ItemTip/BoxItemWin.cs b/Main/System/ItemTip/BoxItemWin.cs
index 955bf02..b5b1a0b 100644
--- a/Main/System/ItemTip/BoxItemWin.cs
+++ b/Main/System/ItemTip/BoxItemWin.cs
@@ -14,7 +14,11 @@
     [SerializeField] ItemCell itemCell;
     [SerializeField] Text nameText;
     [SerializeField] Text descText;
+    [SerializeField] Transform transInbg;
+    [SerializeField] Transform transInbgPreview;
+    [SerializeField] Transform line;
     [SerializeField] ScrollerController scroller;
+    [SerializeField] ScrollerController scrollerPreview;
     [SerializeField] SliderPanel sliderPanel;
     [SerializeField] Button openButton;
 
@@ -58,39 +62,38 @@
         nameText.text = itemConfig.ItemName;
         descText.text = itemConfig.Description;
 
-        if (string.IsNullOrEmpty(guid))
-        {
-            openButton.SetActive(false);
-            sliderPanel.SetActive(false);
-        }
-        else
-        {
-            openButton.SetActive(true);
-            sliderPanel.SetActive(true);
-        }
+        bool isPreview = string.IsNullOrEmpty(guid);
+        openButton.SetActive(!isPreview);
+        sliderPanel.SetActive(!isPreview);
+        transInbg.SetActive(!isPreview);
+        transInbgPreview.SetActive(isPreview);
+        line.SetActive(!isPreview);
 
         useCnt = 1;
         sliderPanel.Init((value) => { useCnt = value; }, itemCount);
 
 
         scroller.OnRefreshCell += OnRefreshCell;
+        scrollerPreview.OnRefreshCell += OnRefreshPreviewCell;
         items = BoxGetItemModel.Instance.GetBoxItems(itemID);
-        CreateScroller();
+        CreateScroller(scroller);
+        CreateScroller(scrollerPreview);
     }
 
     protected override void OnPreClose()
     {
         scroller.OnRefreshCell -= OnRefreshCell;
+        scrollerPreview.OnRefreshCell -= OnRefreshPreviewCell;
     }
 
-    void CreateScroller()
+    void CreateScroller(ScrollerController scroller)
     {
         scroller.Refresh();
-        
+
         for (int i = 0; i < items.Count; i++)
         {
             if (i % 4 == 0)
-            { 
+            {
                 List<Item> tmpIDs = new List<Item>();
                 for (int j = 0; j < 4; j++)
                 {
@@ -121,7 +124,21 @@
 
         _cell.Display(tmpIDs);
     }
-    
 
-    
+    void OnRefreshPreviewCell(ScrollerDataType type, CellView cell)
+    {
+        var _cell = cell as BoxItemLineCell;
+
+        List<Item> tmpIDs = new List<Item>();
+        for (int j = 0; j < 4; j++)
+        {
+            int index = cell.index + j;
+            if (index >= items.Count)
+                break;
+            tmpIDs.Add(items[index]);
+        }
+
+        _cell.Display(tmpIDs);
+    }
+
 }
\ No newline at end of file

--
Gitblit v1.8.0