using UnityEngine;
|
|
namespace vnxbqy.UI
|
{
|
public class MailPersonalCell : CellView
|
{
|
[SerializeField] ButtonEx btnMail;
|
[SerializeField] ImageEx imgState;
|
[SerializeField] ImageEx imgRed;
|
[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;
|
imgRed.SetActive(mailData.MailState == 1);
|
txtTitle.text = mailData.Title;
|
imgState.SetSprite(mailData.MailState == 2 || mailData.MailState == 3 ? "MailRead" : "MailNoRead");
|
if (mailData.Items != null)
|
{
|
txtDate.text = model.FormatCreateMailTime(mailData.CreateDateTime);
|
}
|
else
|
{
|
int expiryDay = model.GetMailExpiryDays(mailData.CreateDateTime, mailData.LimitDays);
|
txtDate.text = expiryDay > 0 ? Language.Get("Mail07", expiryDay) : model.FormatCreateMailTime(mailData.CreateDateTime);
|
}
|
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>();
|
}
|
}
|
}
|