// *********************************************************************** // Assembly : Game // Author : Kimch // Created : 2021-04-23 // Description : // Last Modified By : // Last Modified On : // *********************************************************************** // // // *********************************************************************** using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; namespace G.UI { /// /// /// public class MailListWidget : KUIWidget { #region Field #pragma warning disable CS0649 // 从未对字段赋值,字段将一直保持其默认值 null [KUIFlag] Button _btnReadAll; [KUIFlag] Button _btnDeleteAll; [KUIFlag] KUIList _listMails; [KUIFlag] GameObject _goEmpty; #pragma warning restore CS0649 // 从未对字段赋值,字段将一直保持其默认值 null #endregion #region Method public override void Refresh() { var mails = MailProxy.Instance.allMails; if (mails != null) //if (this.data is IList mails) { _goEmpty.SetActive(mails.Count == 0); _listMails.Clear(); for (int i = 0; i < mails.Count; i++) { _listMails.GetItem().SetData(mails[i]); } } } private void OnReadAllBtnClick() { MailProxy.Instance.GetAllAttach(this.OnAction); } private void OnDeleteAllBtnClick() { MailProxy.Instance.DeleteAll(this.OnAction); } private void OnAction(int error, string message) { if (error == 0) Refresh(); } #endregion #region Unity /// /// /// private void Awake() { SetViewData(); _btnReadAll.onClick.AddListener(this.OnReadAllBtnClick); _btnDeleteAll.onClick.AddListener(this.OnDeleteAllBtnClick); _listMails.AddTemplate(true); } #endregion } }