void OnRefreshMailGridList() { LoggerHelper.Debug("RefreshMailGridList " + MailManager.Instance.IsMailInfoDirty); if (MailManager.Instance.GetMailInfoList().Count > 0) { SocietyUIViewManager.Instance.ShowDeleteReadBtn(true); SocietyUIViewManager.Instance.ShowMailVolume(true); SocietyUIViewManager.Instance.ShowNoMailBoxText(false); SocietyUIViewManager.Instance.SetMailVolume(MailManager.Instance.GetMailInfoList().Count.ToString() + "/60"); } else { SocietyUIViewManager.Instance.ShowDeleteReadBtn(false); SocietyUIViewManager.Instance.ShowMailVolume(false); SocietyUIViewManager.Instance.ShowNoMailBoxText(true); } if (true) { MailManager.Instance.IsMailInfoDirty = false; SocietyUIViewManager.Instance.ClearMailGridList(); List <Mogo.Game.MailInfo> m_listMailInfo = MailManager.Instance.GetMailInfoList(); //sort System.Comparison <Mogo.Game.MailInfo> com = new System.Comparison <Mogo.Game.MailInfo>( (a, b) => { if (a.state == b.state) { return(b.time - a.time); } if (a.state == MAIL_STATE.ATTACH_NO_READ) { return(-1); } if (b.state == MAIL_STATE.ATTACH_NO_READ) { return(1); } if (a.state == MAIL_STATE.NO_ATTACH_NO_READ) { return(-1); } if (b.state == MAIL_STATE.NO_ATTACH_NO_READ) { return(1); } if (a.state == MAIL_STATE.ATTACH_READ) { return(-1); } if (b.state == MAIL_STATE.ATTACH_READ) { return(1); } //默认按时间降序 return(b.time - a.time); } ); m_listMailInfo.Sort(com); Mogo.Util.LoggerHelper.Debug(m_listMailInfo.Count); for (int i = 0; i < m_listMailInfo.Count; ++i) { MailGridData md = new MailGridData(); if (m_listMailInfo[i].mailType == MAIL_TYPE.ID) { try { int fromId = System.Int32.Parse(m_listMailInfo[i].from); md.name = LanguageData.GetContent(fromId); int titleId = System.Int32.Parse(m_listMailInfo[i].title); md.topic = LanguageData.GetContent(titleId); } catch (System.Exception ex) { md.name = m_listMailInfo[i].from; md.topic = m_listMailInfo[i].title; LoggerHelper.Except(ex); } } else { md.name = m_listMailInfo[i].from; md.topic = m_listMailInfo[i].title; } md.mailId = m_listMailInfo[i].id; switch (m_listMailInfo[i].state) { case MAIL_STATE.NO_ATTACH_NO_READ: md.isNoRead = true; md.isAttachNoRead = false; md.isAttachRead = false; md.isRead = false; break; case MAIL_STATE.ATTACH_NO_READ: md.isNoRead = false; md.isAttachNoRead = true; md.isAttachRead = false; md.isRead = false; break; case MAIL_STATE.NO_ATTACH_READ: md.isNoRead = false; md.isAttachNoRead = false; md.isAttachRead = false; md.isRead = true; break; case MAIL_STATE.ATTACH_READ: md.isNoRead = false; md.isAttachNoRead = false; md.isAttachRead = true; md.isRead = false; break; case MAIL_STATE.RECV_ATTACH_READ: md.isNoRead = false; md.isAttachNoRead = false; md.isAttachRead = false; md.isRead = true; break; } md.time = Utils.GetTime(m_listMailInfo[i].time).ToString("MM/dd"); SocietyUIViewManager.Instance.AddMailGrid(md); } MailManager.Instance.IsMailInfoDirty = false; } }
void OnRefreshMailGridList() { LoggerHelper.Debug("RefreshMailGridList " + MailManager.Instance.IsMailInfoDirty ); if (MailManager.Instance.GetMailInfoList().Count > 0) { SocietyUIViewManager.Instance.ShowDeleteReadBtn(true); SocietyUIViewManager.Instance.ShowMailVolume(true); SocietyUIViewManager.Instance.ShowNoMailBoxText(false); SocietyUIViewManager.Instance.SetMailVolume(MailManager.Instance.GetMailInfoList().Count.ToString() + "/60"); } else { SocietyUIViewManager.Instance.ShowDeleteReadBtn(false); SocietyUIViewManager.Instance.ShowMailVolume(false); SocietyUIViewManager.Instance.ShowNoMailBoxText(true); } if (true) { MailManager.Instance.IsMailInfoDirty = false; SocietyUIViewManager.Instance.ClearMailGridList(); List<Mogo.Game.MailInfo> m_listMailInfo = MailManager.Instance.GetMailInfoList(); //sort System.Comparison<Mogo.Game.MailInfo> com = new System.Comparison<Mogo.Game.MailInfo>( (a, b) => { if (a.state == b.state) return b.time - a.time; if (a.state == MAIL_STATE.ATTACH_NO_READ) return -1; if (b.state == MAIL_STATE.ATTACH_NO_READ) return 1; if (a.state == MAIL_STATE.NO_ATTACH_NO_READ) return -1; if (b.state == MAIL_STATE.NO_ATTACH_NO_READ) return 1; if (a.state == MAIL_STATE.ATTACH_READ) return -1; if (b.state == MAIL_STATE.ATTACH_READ) return 1; //默认按时间降序 return b.time - a.time; } ); m_listMailInfo.Sort(com); Mogo.Util.LoggerHelper.Debug(m_listMailInfo.Count); for (int i = 0; i < m_listMailInfo.Count; ++i) { MailGridData md = new MailGridData(); if (m_listMailInfo[i].mailType == MAIL_TYPE.ID) { try { int fromId = System.Int32.Parse(m_listMailInfo[i].from); md.name = LanguageData.GetContent(fromId); int titleId = System.Int32.Parse(m_listMailInfo[i].title); md.topic = LanguageData.GetContent(titleId); } catch (System.Exception ex) { md.name = m_listMailInfo[i].from; md.topic = m_listMailInfo[i].title; LoggerHelper.Except(ex); } } else { md.name = m_listMailInfo[i].from; md.topic = m_listMailInfo[i].title; } md.mailId = m_listMailInfo[i].id; switch (m_listMailInfo[i].state) { case MAIL_STATE.NO_ATTACH_NO_READ: md.isNoRead = true; md.isAttachNoRead = false; md.isAttachRead = false; md.isRead = false; break; case MAIL_STATE.ATTACH_NO_READ: md.isNoRead = false; md.isAttachNoRead = true; md.isAttachRead = false; md.isRead = false; break; case MAIL_STATE.NO_ATTACH_READ: md.isNoRead = false; md.isAttachNoRead = false; md.isAttachRead = false; md.isRead = true; break; case MAIL_STATE.ATTACH_READ: md.isNoRead = false; md.isAttachNoRead = false; md.isAttachRead = true; md.isRead = false; break; case MAIL_STATE.RECV_ATTACH_READ: md.isNoRead = false; md.isAttachNoRead = false; md.isAttachRead = false; md.isRead = true; break; } md.time = Utils.GetTime(m_listMailInfo[i].time).ToString("MM/dd"); SocietyUIViewManager.Instance.AddMailGrid(md); } MailManager.Instance.IsMailInfoDirty = false; } }
public void AddMailGrid(MailGridData md) { AssetCacheMgr.GetUIInstance("MailGrid.prefab", (prefab, id, go) => { GameObject obj = (GameObject)go; obj.transform.parent = m_goMailList.transform; obj.transform.localPosition = new Vector3(0, -m_listMailGrid.Count * 108, 0); obj.transform.localScale = new Vector3(1, 1, 1); obj.GetComponentsInChildren<MyDragCamera>(true)[0].RelatedCamera = m_camMailList; //MailGrid mg = obj.GetComponentsInChildren<MailGrid>(true)[0]; MailGrid mg = obj.AddComponent<MailGrid>(); mg.MailGridName = md.name; mg.MailGridTopic = md.topic; mg.MailGridTime = md.time; mg.AttachNoRead = md.isAttachNoRead; mg.AttachRead = md.isAttachRead; mg.Read = md.isRead; mg.NoRead = md.isNoRead; mg.Id = m_listMailGrid.Count; TDBID idx = Convert.ToUInt64(m_listMailGrid.Count); m_mailGridToMailID[idx] = md.mailId; m_listMailGrid.Add(obj); if (m_listMailGrid.Count - 4 >= 0) { m_camMailList.GetComponentsInChildren<MyDragableCamera>(true)[0].MINY = -172 - (m_listMailGrid.Count - 4) * 108; } else { m_camMailList.GetComponentsInChildren<MyDragableCamera>(true)[0].MINY = -172; } }); }