using Snxxz.UI; using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; namespace EnhancedUI.EnhancedScroller { public class MarketRecordCell : ScrollerUI { [SerializeField] Image m_ItemIcon; [SerializeField] Image m_ItemBG; [SerializeField] Image m_ItemUp; [SerializeField] List m_Stars; [SerializeField] Text m_ItemCntTxt; [SerializeField] Text m_ItemNameTxt; [SerializeField] Text m_DealTypeTxt; [SerializeField] Text m_DealTimeTxt; [SerializeField] Text m_DealTaxTxt; [SerializeField] Text m_DealIncomeTxt; [SerializeField] Text m_ItemLevelTxt; [SerializeField] Button m_ItemBtn; ItemTipsModel _itemTipsModel; ItemTipsModel itemTipsModel { get { return _itemTipsModel ?? (_itemTipsModel = ModelCenter.Instance.GetModel()); } } public override void Refresh(CellView cell) { int index = cell.index; if (index >= PlayerDatas.Instance.market.dealRecordList.Count) { return; } var _data = PlayerDatas.Instance.market.dealRecordList[index]; m_DealTimeTxt.text = TimeUtility.GetTime(_data.Timestamp).ToString("yyyy-MM-dd HH:mm:ss"); m_DealTypeTxt.text = _data.Type == 0 ? Language.Get("Market_Text_31") : Language.Get("Market_Text_32"); m_DealIncomeTxt.text = (_data.Type == 0 ? "-" : "") + _data.TradeMoney.ToString(); m_DealIncomeTxt.color = _data.Type == 0 ? UIHelper.GetUIColor(TextColType.Red) : UIHelper.GetUIColor(TextColType.NavyBrown); m_DealTaxTxt.text = _data.Type == 0 ? Language.Get("Market_Text_33") : _data.TradeTax.ToString(); m_ItemLevelTxt.gameObject.SetActive(false); m_ItemBtn.onClick.RemoveAllListeners(); if (_data.itemdata != null) { var _itemCfg = ItemConfig.Get(_data.itemdata.itemID); for (int j = 0; j < m_Stars.Count; j++) { m_Stars[j].SetActive(j < _itemCfg.StarLevel); } m_ItemIcon.SetSprite(_itemCfg.IconKey); m_ItemUp.gameObject.SetActive(true); int fightUp = ItemLogicUtility.Instance.IsFightUp((int)_data.itemdata.itemID, (int)_data.itemdata.equipGS); if (fightUp == 1) { m_ItemUp.SetSprite("EquipUpIcon"); } else if (fightUp == -1) { m_ItemUp.SetSprite("EquipDownIcon"); } else { m_ItemUp.gameObject.SetActive(false); } m_ItemCntTxt.gameObject.SetActive(_data.itemdata.count > 1); m_ItemCntTxt.text = _data.itemdata.count.ToString(); m_ItemNameTxt.text = _itemCfg.ItemName; var _itemColor = _itemCfg.ItemColor; if (_itemCfg.Type == 111) { _itemColor = UIHelper.GetItemColor(_data.itemdata.itemID, _data.UserData); } m_ItemBG.SetItemBackGround(_itemColor); bool _bright = (m_ItemNameTxt is RichText) ? (m_ItemNameTxt as RichText).colorType == RichText.ColorType.Bright : true; m_ItemNameTxt.color = UIHelper.GetUIColor(_itemColor, _bright); if (_itemCfg.Type >= 101 && _itemCfg.Type < 110) { m_ItemLevelTxt.gameObject.SetActive(true); m_ItemLevelTxt.text = Language.Get("Market_Text_30") + _itemCfg.LV; } m_ItemBtn.onClick.AddListener(() => { OnClickItem(_data); }); } } private void OnClickItem(MarketDealRecordData data) { ItemAttrData attrData = new ItemAttrData(data.itemdata.itemID, false, (ulong)data.itemdata.count, -1, 0, false, PackType.Deleted, "", data.UserData); itemTipsModel.SetItemTipsModel(attrData); } } }