// *********************************************************************** // Assembly : Game // Author : Kimch // Created : 2020-12-07 // Description : // Last Modified By : // Last Modified On : // *********************************************************************** // // // *********************************************************************** using TMPro; using UnityEngine; using UnityEngine.UI; namespace G.UI { partial class ShopPanel { /// /// /// class CoinBoxWidget : KUIWidget { #region Field #pragma warning disable CS0649 // 从未对字段赋值,字段将一直保持其默认值 null [KUIFlag] TextMeshProUGUI _tmpName; [KUIFlag] KUIImage _imgIcon; [KUIFlag] Button _btnGet; [KUIFlag] GameObject __goPrice; #pragma warning restore CS0649 // 从未对字段赋值,字段将一直保持其默认值 null //[KUIFlag] //TextMeshProUGUI _tmpGet; //private EquipmentItem _equipmentItem; private CostWidget _priceItem; #endregion #region Method public override void Refresh() { if (this.data is ShopProxy.CoinBox slot) { var boxItem = BoxProxy.Instance.GetBoxInfo(slot.itemId); if (boxItem != null) { _tmpName.text = boxItem.item.name; _imgIcon.ShowSprite(Mathf.Max(0, boxItem.item.quality - 1)); //_equipmentItem.SetData(ItemProxy.Instance.GetStaticItem(slot.itemId)); //_btnGet.interactable = slot.status == 0; _priceItem.SetPrice(boxItem.item.priceInfo); //_tmpGet.text = slot.status == 0 ? "领取" : "已领取"; } } } private void OnGetBtnClick() { if (this.data is ShopProxy.CoinBox slot) { int result = ShopProxy.Instance.OpenShopSlot(slot.id); switch (result) { case 0: Refresh(); break; case 1: ToastBox.ShowText("领取次数已达到每日上限"); break; case 2: ToastBox.ShowText("所需货币不足"); break; case 3: ToastBox.ShowText("宝箱配置错误"); break; case 4: ToastBox.ShowText("宝箱未初始化"); break; } } SoundProxy.PlayFxAsync(GlobalDefine.BUTTON_CLICK_SOUND); } #endregion #region Unity /// /// /// private void Awake() { SetViewData(); _priceItem = __goPrice.AddComponent(); //_equipmentItem = _equipment.AddComponent(); _btnGet.onClick.AddListener(this.OnGetBtnClick); } #endregion } } }