92 lines
1.9 KiB
C#
Raw Normal View History

2025-05-18 01:04:31 +08:00
// ***********************************************************************
// Assembly : Game
// Author : Kimch
// Created : 2021-04-23
// Description :
// Last Modified By :
// Last Modified On :
// ***********************************************************************
// <copyright file= "MailListWidget" company="Kunpo"></copyright>
// <summary></summary>
// ***********************************************************************
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
namespace G.UI
{
/// <summary>
///
/// </summary>
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<Mail> 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
/// <summary>
///
/// </summary>
private void Awake()
{
SetViewData();
_btnReadAll.onClick.AddListener(this.OnReadAllBtnClick);
_btnDeleteAll.onClick.AddListener(this.OnDeleteAllBtnClick);
_listMails.AddTemplate<MailWidget>(true);
}
#endregion
}
}