using UnityEngine; using UnityEngine.UI; using System.Collections.Generic; using System.Collections; namespace vnxbqy.UI { public class XBItemCell : MonoBehaviour { [SerializeField] CommonItemBaisc itemCell; [SerializeField] GameObject selectIcon; [SerializeField] Text nameText; HappyXBModel XBModel { get { return ModelCenter.Instance.GetModel(); } } int xbIndex = 0; public void SetModel(int itemId,int count,int index) { this.xbIndex = index; ItemCellModel cellModel = new ItemCellModel(itemId,true,(ulong)count); itemCell.Init(cellModel); ItemConfig itemConfig = ItemConfig.Get(itemId); if(itemConfig != null) { nameText.text = itemConfig.ItemName; nameText.color = UIHelper.GetUIColor(itemConfig.ItemColor,false); } itemCell.button.RemoveAllListeners(); itemCell.button.AddListener(()=> { ItemTipUtility.Show(itemId); }); selectIcon.SetActive(false); } public void RefreshSelectIcon(int curSelect) { if(curSelect == xbIndex) { selectIcon.SetActive(true); } else { selectIcon.SetActive(false); } } public void CheckToFlashing(int xbType, int curSelect) { if (curSelect != xbIndex) return; XBGetItemConfig xbItemConfig = XBModel.GetXBItemConfigByType(xbType); if (xbItemConfig == null || TreasureSetConfig.Get(xbItemConfig.TreasureType).LuckyGridNum != xbIndex) return; SoundPlayer.Instance.PlayUIAudio(67); StartCoroutine(BestItemFlashing(xbType)); } IEnumerator BestItemFlashing(int xbType) { int num = 0; BestXBWin bestXB = null; RuneXBWin runeXB = null; switch (xbType) { case 1: bestXB = WindowCenter.Instance.Get(); break; case 2: runeXB = WindowCenter.Instance.Get(); break; } int flashingTimes = 0; float flashingTime = 0; if(bestXB != null) { flashingTimes = bestXB.flashingTimes; flashingTime = bestXB.flashingTime; } else if(runeXB != null) { flashingTimes = runeXB.flashingTimes; flashingTime = runeXB.flashingTime; } while (true) { selectIcon.SetActive(!selectIcon.activeInHierarchy); num += 1; if (num >= flashingTimes) { break; } yield return new WaitForSeconds(flashingTime); } } } }