| using UnityEngine; | 
|   | 
| public class MailGlobalCell : 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>(); | 
|     } | 
| } |