using System.Collections; using System.Collections.Generic; using UnityEngine; using System; using UnityEngine.UI; using Snxxz.UI; using TableConfig; namespace EnhancedUI.EnhancedScroller { public class MarketRightTypeCell : CellView { [SerializeField] MarketItemType[] m_MarketTypes; MarketModel m_Model; MarketModel model { get { return m_Model ?? (m_Model = ModelCenter.Instance.GetModel()); } } public void Display(int _page) { if (!model.marketCfgDict.ContainsKey(model.presentType)) { return; } var _cfg = model.marketCfgDict[model.presentType]; for (int i = 0; i < m_MarketTypes.Length; i++) { var _index = _page * 3 + i; m_MarketTypes[i].rect.gameObject.SetActive(_index < _cfg.queryType.Length); if (_index < _cfg.queryType.Length) { m_MarketTypes[i].Display(_cfg, _index); } } } [Serializable] public class MarketItemType { [SerializeField] Text m_TypeTxt; [SerializeField] Image m_TypeIcon; [SerializeField] Button m_TypeBtn; [SerializeField] RectTransform m_Rect; public RectTransform rect { get { return m_Rect; } } MarketModel m_Model; MarketModel model { get { return m_Model ?? (m_Model = ModelCenter.Instance.GetModel()); } } public void Display(MarketConfig _cfg, int _index) { m_TypeBtn.RemoveAllListeners(); m_TypeTxt.text = _cfg.itemTypeName[_index]; m_TypeIcon.SetSprite(_cfg.itemTypeIcon[_index]); m_TypeBtn.onClick.AddListener(() => { model.presentItemType = _cfg.queryType[_index]; CB503_tagCGPYQueryBourseItemOnSale _pak = new CB503_tagCGPYQueryBourseItemOnSale(); _pak.QueryType = (uint)model.presentItemType; _pak.ItemID = 0; _pak.ItemName = string.Empty; GameNetSystem.Instance.SendInfo(_pak); model.RefreshSelectType(); }); } } } }