using EnhancedUI.EnhancedScroller;  
 | 
using UnityEngine;  
 | 
using UnityEngine.UI;  
 | 
using System;  
 | 
  
 | 
using System.Collections.Generic;  
 | 
  
 | 
namespace Snxxz.UI  
 | 
{  
 | 
    public class WishGroupCell : ScrollerUI  
 | 
    {  
 | 
        [SerializeField] List<PoolItem> poolItems = new List<PoolItem>();  
 | 
        WishingPoolModel wishModel { get { return ModelCenter.Instance.GetModel<WishingPoolModel>(); } }  
 | 
          
 | 
  
 | 
        public override void Refresh(CellView cell)  
 | 
        {  
 | 
            var operation = wishModel.GetOperationWishing();  
 | 
            if (operation == null) return;  
 | 
            var items = operation.GetWellItemsByGroupType(cell.index);  
 | 
            if (items == null) return;  
 | 
  
 | 
            for(int i = 0; i < poolItems.Count; i++)  
 | 
            {  
 | 
                var poolItem = poolItems[i];  
 | 
                if(i < items.Count)  
 | 
                {  
 | 
                    poolItem.Object.SetActive(true);  
 | 
                    var info = items[i];  
 | 
                    ItemConfig itemConfig = ItemConfig.Get(info.itemId);  
 | 
                    poolItem.nameText.text = itemConfig.ItemName;  
 | 
                    poolItem.nameText.color = UIHelper.GetUIColor(itemConfig.ItemColor,true);  
 | 
                    ItemCellModel cellModel = new ItemCellModel(info.itemId,true,(ulong)info.itemCount);  
 | 
                    poolItem.itemBaisc.Init(cellModel);  
 | 
                    string rareIconKey = string.Empty;  
 | 
                    bool isRare = wishModel.TryGetItemRareIcon(info.rare, out rareIconKey);  
 | 
                    poolItem.bestImg.SetActive(isRare);  
 | 
                    if (isRare)  
 | 
                    {  
 | 
                        poolItem.bestImg.SetSprite(rareIconKey);  
 | 
                    }  
 | 
                    poolItem.itemBaisc.button.RemoveAllListeners();  
 | 
                    poolItem.itemBaisc.button.AddListener(()=>  
 | 
                    {  
 | 
                        ItemTipUtility.Show(info.itemId);  
 | 
                    });  
 | 
                }  
 | 
                else  
 | 
                {  
 | 
                    poolItem.Object.SetActive(false);  
 | 
                }  
 | 
            }  
 | 
  
 | 
        }  
 | 
        [Serializable]  
 | 
        public class PoolItem  
 | 
        {  
 | 
            public GameObject Object;  
 | 
            public CommonItemBaisc itemBaisc;  
 | 
            public Image bestImg;  
 | 
            public Text nameText;  
 | 
        }  
 | 
    }  
 | 
}  
 |