| using System.Collections.Generic; | 
| using UnityEngine; | 
| using UnityEngine.UI; | 
|   | 
| public class BuyItemWin : UIBase | 
| { | 
|   | 
|     [SerializeField] ItemCell itemCell; | 
|     [SerializeField] Text nameText; | 
|     [SerializeField] Text descText; | 
|     //[SerializeField] ScrollerController scroller; | 
|     [SerializeField] SliderPanel sliderPanel; | 
|     [SerializeField] Button openButton; | 
|   | 
|     //[SerializeField] CellView _InitCell; | 
|   | 
|     string guid; | 
|     int itemID; | 
|     int itemCount; | 
|     int useCnt; | 
|     List<Item> items; | 
|     protected override void InitComponent() | 
|     { | 
|         openButton.AddListener(() => | 
|         { | 
|             if (useCnt == 0) | 
|             { | 
|                 CloseWindow(); | 
|                 return; | 
|             } | 
|             if (ItemLogicUtility.Instance.UseItem(guid, useCnt)) | 
|             { | 
|                 CloseWindow(); | 
|             } | 
|         }); | 
|     } | 
|   | 
|     protected override void Start() | 
|     { | 
|         //_InitCell.cellIdentifier = _InitCell.cellIdentifier + this.GetInstanceID().ToString(); | 
|     } | 
|   | 
|   | 
|     protected override void OnPreOpen() | 
|     { | 
|         itemID = ItemTipUtility.mainTipData.baseInfo.itemId; | 
|         itemCount = ItemTipUtility.mainTipData.baseInfo.count; | 
|         guid = ItemTipUtility.mainTipData.guid; | 
|   | 
|         itemCell.Init(new ItemCellModel(itemID, false, itemCount)); | 
|         var itemConfig = ItemConfig.Get(itemID); | 
|         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); | 
|         } | 
|   | 
|         sliderPanel.Init((value) => { useCnt = value; }, itemCount); | 
|   | 
|   | 
|         // scroller.OnRefreshCell += OnRefreshCell; | 
|         items = BoxGetItemModel.Instance.GetBoxItems(itemID); | 
|         CreateScroller(); | 
|     } | 
|   | 
|     protected override void OnPreClose() | 
|     { | 
|         //scroller.OnRefreshCell -= OnRefreshCell; | 
|     } | 
|   | 
|     void CreateScroller() | 
|     { | 
|         // 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++) | 
|                 { | 
|                     int index = i + j; | 
|                     if (index >= items.Count) | 
|                         break; | 
|                     tmpIDs.Add(items[index]); | 
|                 } | 
|                 //  scroller.AddCell(ScrollerDataType.Header, i); | 
|             } | 
|         } | 
|         // scroller.Restart(); | 
|     } | 
|   | 
|   | 
|     void OnRefreshCell(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); | 
|     } | 
|   | 
|   | 
| } |