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<HappyXBModel>(); } }
|
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<BestXBWin>();
|
break;
|
case 2:
|
runeXB = WindowCenter.Instance.Get<RuneXBWin>();
|
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);
|
}
|
}
|
}
|
}
|