using UnityEngine; 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(); } }