using Snxxz.UI; using System.Collections; using System.Collections.Generic; using UnityEngine; using System; namespace EnhancedUI.EnhancedScroller { public class MarketBagItemCell : CellView { [SerializeField] MarketBagItem[] m_MarketBagItems; [NonSerialized] public AchievementGuideEffect[] m_AchieveEffects = new AchievementGuideEffect[4]; public MarketBagItem this[int _index] { get { if (_index < m_MarketBagItems.Length) { return m_MarketBagItems[_index]; } return null; } } MarketModel m_Model; MarketModel model { get { return m_Model ?? (m_Model = ModelCenter.Instance.GetModel()); } } ItemTipsModel _itemTipsModel; ItemTipsModel itemTipsModel { get { return _itemTipsModel ?? (_itemTipsModel = ModelCenter.Instance.GetModel()); } } public void Display(params int[] _indexs) { if (_indexs == null) { return; } for (int i = 0; i < _indexs.Length; i++) { m_MarketBagItems[i].cellBtn.RemoveAllListeners(); if (_indexs[i] == -1 || _indexs[i] >= model.bagItems.Count) { m_MarketBagItems[i].gameObject.SetActive(false); continue; } m_MarketBagItems[i].gameObject.SetActive(true); var _itemModel = model.bagItems[_indexs[i]]; m_MarketBagItems[i].Init(_itemModel); m_MarketBagItems[i].itemIcon.material = model.CheckItemPutaway(_itemModel) ? MaterialUtility.GetUIDefaultGraphicMaterial() : MaterialUtility.GetDefaultSpriteGrayMaterial(); m_MarketBagItems[i].cellBtn.onClick.AddListener(() => { OnItemClick(_itemModel); }); } } private void OnItemClick(ItemModel itemBag) { model.m_AchievementIndex = -1; if (!model.CheckItemPutaway(itemBag, true)) { return; } itemTipsModel.SetItemTipsModel(itemBag.packType, itemBag.itemInfo.ItemGUID, false); itemTipsModel.curAttrData.SetTipsFuncBtn(ItemWinBtnType.putAway, OnPutawayClick); itemTipsModel.ShowUICtrl(); PutawayData.Instance.Init(); PutawayData.Instance.itemModel = itemBag; } private void OnPutawayClick(ItemWinBtnType type, string s) { KnapSackEventMgr.Instance.HideItemPopWin(); switch (type) { case ItemWinBtnType.putAway: { WindowCenter.Instance.Open(); } break; } } } }