using UnityEngine; using UnityEngine.UI; namespace vnxbqy.UI { enum TaiChiRewardType { box, gold, exp, } public class TaiChiRewardCell : MonoBehaviour { [SerializeField] Image bgImg; [SerializeField] Image itemIcon; [SerializeField] Text nameText; [SerializeField] Text numText; [SerializeField] Button button; [SerializeField] TaiChiRewardType rewardType; TaiChiModel taiChiModel{ get { return ModelCenter.Instance.GetModel(); }} private void OnEnable() { SetDisplayModel(); } private void SetDisplayModel() { DiceReward diceReward = taiChiModel.GetDiceReward(taiChiModel.getResultNum); if (diceReward == null) return; ItemConfig itemConfig = null; switch (rewardType) { case TaiChiRewardType.box: itemConfig = GetItemConfigById(diceReward.itemID); numText.text = ItemLogicUtility.Instance.OnChangeCoinsUnit((ulong)diceReward.itemCount); break; case TaiChiRewardType.gold: itemConfig = GetItemConfigById(diceReward.goldId); numText.text = ItemLogicUtility.Instance.OnChangeCoinsUnit((ulong)diceReward.gold); break; case TaiChiRewardType.exp: itemConfig = GetItemConfigById(diceReward.expId); numText.text = ItemLogicUtility.Instance.OnChangeCoinsUnit((ulong)taiChiModel.GetDiceRewardExp(diceReward.exp)); break; } if(itemConfig != null) { nameText.text = itemConfig.ItemName; itemIcon.SetSprite(itemConfig.IconKey); bgImg.SetItemBackGround(itemConfig.ItemColor, itemConfig.QualityEchoType); button.RemoveAllListeners(); button.AddListener(()=> { ItemTipUtility.Show(itemConfig.ID); }); } } private ItemConfig GetItemConfigById(int id) { return ItemConfig.Get(id); } } }