using System;
|
using UnityEngine;
|
using UnityEngine.UI;
|
|
public class MailCell : CellView
|
{
|
[SerializeField] Button btnMail;
|
[SerializeField] ImageEx imgMask;
|
[SerializeField] ImageEx imgRed;
|
[SerializeField] ImageEx imgHasAward;
|
[SerializeField] TextEx txtTitle;
|
[SerializeField] TextEx txtDate;
|
MailManager model { get { return MailManager.Instance; } }
|
string uuid = string.Empty;
|
public void Display(int index, CellView cellView)
|
{
|
MailCategory mailCategory = (MailCategory)cellView.info.Value.infoInt1;
|
var list = model.GetSortMailScrList(mailCategory);
|
if (list == null || index < 0 || index >= list.Count)
|
return;
|
uuid = list[index];
|
if (!model.TryGetMailData(uuid, out var mailData) || mailData == null)
|
return;
|
//mailData.MailState 邮件状态: 0-未知;1-未读;2-已读;3-已领;
|
imgRed.SetActive(mailData.MailState == 1);
|
imgHasAward.SetActive(mailData.MailState != 3 && mailData.HasAward());
|
imgMask.SetActive(mailData.MailState == 2 || mailData.MailState == 3);
|
if (mailData.IsTemplateMail() && MailConfig.HasKey(mailData.GetTemplateKey()))
|
{
|
txtTitle.text = MailConfig.Get(mailData.GetTemplateKey()).Title;
|
}
|
else
|
{
|
txtTitle.text = mailData.Title;
|
}
|
|
txtDate.text = model.FormatMailExpiryDays(mailData.CreateDateTime, mailData.LimitDays);
|
btnMail.SetListener(OnClickButtonMail);
|
}
|
|
private void OnClickButtonMail()
|
{
|
model.nowUuid = uuid;
|
if (!model.TryGetMailData(uuid, out var mailData) || mailData == null)
|
return;
|
if (mailData.MailState == 1)
|
{
|
model.ReadMail(uuid);
|
}
|
UIManager.Instance.OpenWindow<MailInfoWin>();
|
}
|
}
|