// *********************************************************************** // 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 MailWidget : KUIWidget { #region Field [KUIFlag] #pragma warning disable CS0649 // 从未对字段“MailWidget._imgIcon”赋值,字段将一直保持其默认值 null Image _imgIcon; [KUIFlag] TextMeshProUGUI _tmpTitle; [KUIFlag] TextMeshProUGUI _tmpContent; [KUIFlag] GameObject _imgStatus; [KUIFlag] Button _btnBg; #pragma warning restore CS0649 // 从未对字段“MailWidget._btnBg”赋值,字段将一直保持其默认值 null KUIImage _mailBGStatus; KUIImage _mailStatus; #endregion #region Method public override void Refresh() { if (this.data is Mail mail) { _tmpTitle.text = mail.title; _tmpContent.text = mail.sender; SetStatus(mail.status, mail.giveItems != null && mail.giveItems.Length > 0); } } /// /// /// /// 0,1,2 private void SetStatus(int status, bool hasAward) { if (status == 0) { _imgStatus.SetActive(false); _mailBGStatus.ShowSprite(0); _mailStatus.ShowSprite(hasAward ? 1 : 0); } else// if (status == 1) { _imgStatus.SetActive(true); _mailBGStatus.ShowSprite(1); _mailStatus.ShowSprite(hasAward ? 3 : 2); } } private void OnBgBtnClick() { if (this.data is Mail mail) { MailProxy.Instance.Read(mail, null); SendNotification(GlobalDefine.EVENT_MAIL_SELECTED, this.data); } } #endregion #region Unity /// /// /// private void Awake() { SetViewData(); _btnBg.onClick.AddListener(this.OnBgBtnClick); _mailBGStatus = _btnBg.GetComponent(); _mailStatus = _imgIcon.GetComponent(); } #endregion } }