// *********************************************************************** // Assembly : Game // Author : Kimch // Created : 2021-04-23 // Description : // Last Modified By : // Last Modified On : // *********************************************************************** // // // *********************************************************************** using TMPro; using UnityEngine; using UnityEngine.UI; namespace G.UI { /// /// /// public class MailDetailWidget : KUIWidget { #region Field #pragma warning disable CS0649 // 从未对字段赋值,字段将一直保持其默认值 null [KUIFlag] Button _btnAction; [KUIFlag] TextMeshProUGUI _tmpMailTitle; [KUIFlag] TextMeshProUGUI _tmpMailContent; [KUIFlag] KUIList _listRewards; [KUIFlag] TextMeshProUGUI _tmpStatus; #pragma warning restore CS0649 // 从未对字段赋值,字段将一直保持其默认值 null #endregion #region Method public override void Refresh() { if (this.data is Mail mail) { _tmpMailTitle.text = mail.title; _tmpMailContent.text = mail.content; if (mail.status < 2 && mail.giveItems != null && mail.giveItems.Length > 0) { //_btnAction.interactable = true; _tmpStatus.text = "领取"; } else { //_btnAction.interactable = true; _tmpStatus.text = "删除"; } _listRewards.Clear(); var giveItems = mail.giveItems; if (giveItems != null) for (int i = 0; i < giveItems.Length; i++) { _listRewards.GetItem().SetItem(giveItems[i]); } } } private void OnActionBtnClick() { if (this.data is Mail mail) { if (mail.status < 2 && mail.giveItems != null && mail.giveItems.Length > 0) { MailProxy.Instance.GetAttach(mail, null); Refresh(); } else { MailProxy.Instance.Delete(mail, null); KUIWindow.GetWindow().RefreshView(); } } } #endregion #region Unity /// /// /// private void Awake() { SetViewData(); _listRewards.AddTemplate(true); _btnAction.onClick.AddListener(this.OnActionBtnClick); } #endregion } }