using UnityEngine; using UnityEngine.UI; namespace Snxxz.UI { public class WishItemCell : MonoBehaviour { [SerializeField] CommonItemBaisc itemBaisc; [SerializeField] GameObject noneItemObj; [SerializeField] Button noneItemBtn; [SerializeField] Text nameText; [SerializeField] Image bestIcon; [SerializeField] GameObject contain_Name; ItemTipsModel tipsModel { get { return ModelCenter.Instance.GetModel(); } } WishingPoolModel wishingModel { get { return ModelCenter.Instance.GetModel(); } } public void Display(int index) { WishingPoolModel.WishingWellItem wellItem = null; bool isWishData = wishingModel.TryGetWishDataByIndex(index, out wellItem); noneItemBtn.RemoveAllListeners(); if (isWishData) { contain_Name.SetActive(true); itemBaisc.gameObject.SetActive(true); noneItemObj.gameObject.SetActive(false); string rareIconKey = string.Empty; bool isRare = wishingModel.TryGetItemRareIcon(wellItem.rare, out rareIconKey); bestIcon.gameObject.SetActive(isRare); if (isRare) { bestIcon.SetSprite(rareIconKey); } ItemConfig itemConfig = ItemConfig.Get(wellItem.itemId); nameText.text = itemConfig.ItemName; nameText.color = UIHelper.GetUIColor(itemConfig.ItemColor); ItemCellModel cellModel = new ItemCellModel(wellItem.itemId, false, (ulong)wellItem.itemCount, wellItem.isBind); itemBaisc.Init(cellModel); itemBaisc.cellBtn.RemoveAllListeners(); itemBaisc.cellBtn.AddListener(() => { ItemAttrData attrData = new ItemAttrData(wellItem.itemId, true, (ulong)wellItem.itemCount, -1, wellItem.isBind); tipsModel.SetItemTipsModel(attrData); }); } else { contain_Name.SetActive(false); itemBaisc.gameObject.SetActive(false); noneItemObj.gameObject.SetActive(true); bestIcon.gameObject.SetActive(false); noneItemBtn.AddListener(()=> { wishingModel.SetHandMovePos(index); }); } } } }