From 1b4b01956de5d072e3281176ff5e219bd5e2b511 Mon Sep 17 00:00:00 2001 From: hch <305670599@qq.com> Date: 星期二, 30 九月 2025 15:26:58 +0800 Subject: [PATCH] Merge branch 'master' of http://mobile.secondworld.net.cn:10010/r/Project_SG_scripts --- Main/System/Mail/MailWin.cs | 167 +++++++++++++++++++++++++------------------------------ 1 files changed, 75 insertions(+), 92 deletions(-) diff --git a/Main/System/Mail/MailWin.cs b/Main/System/Mail/MailWin.cs index 865aefd..411f7a5 100644 --- a/Main/System/Mail/MailWin.cs +++ b/Main/System/Mail/MailWin.cs @@ -1,89 +1,87 @@ 锘縰sing System; using UnityEngine; - - -public class MailWin : UIBase +public class MailWin : FunctionsBaseWin { - [SerializeField] Transform transPersonal; - [SerializeField] Transform transGlobal; - [SerializeField] ScrollerController scrPersonal; - [SerializeField] ScrollerController scrGlobal; - [SerializeField] ButtonEx btnDeleteRead; + [SerializeField] ScrollerController scrMail; + [SerializeField] ButtonEx btnDeleteAllRead; [SerializeField] ButtonEx btnClaimAll; - [SerializeField] ToggleEx togTab0; [SerializeField] RedpointBehaviour rpTab0; - [SerializeField] ToggleEx togTab1; [SerializeField] RedpointBehaviour rpTab1; [SerializeField] Transform transNoMail; + [SerializeField] Transform transCurrentMailCount; + [SerializeField] TextEx txtCurrentMailCount; MailManager model { get { return MailManager.Instance; } } protected override void InitComponent() { base.InitComponent(); - btnDeleteRead.SetListener(OnDeleteRead); + btnDeleteAllRead.SetListener(OnDeleteRead); btnClaimAll.SetListener(OnClaimAll); - togTab0.SetListener(OnTab0); - togTab1.SetListener(OnTab1); } protected override void OnPreOpen() { - model.OnUpdateMailListEvent += OnUpdateMailListEvent; - model.OnUpdateMailStateChangeEvent += OnUpdateMailStateChangeEvent; - scrPersonal.OnRefreshCell += OnRefreshPersonalCell; - scrGlobal.OnRefreshCell += OnRefreshGlobalCell; - + base.OnPreOpen(); + tabButtons[functionOrder].SelectBtn(true); + model.nowMailCategory = MailCategory.Personal; rpTab0.redpointId = model.GetTabRedpointId(MailCategory.Personal); rpTab1.redpointId = model.GetTabRedpointId(MailCategory.Global); - transNoMail.SetActive(false); + transNoMail.SetActive(true); + btnDeleteAllRead.SetActive(true); + btnClaimAll.SetActive(true); + transCurrentMailCount.SetActive(true); + model.OnUpdateMailListEvent += OnUpdateMailListEvent; + model.OnUpdateMailStateChangeEvent += OnUpdateMailStateChangeEvent; + scrMail.OnRefreshCell += OnRefreshCell; + GlobalTimeEvent.Instance.secondEvent += OnSecondEvent; + DisPlay(); + } protected override void OnPreClose() { + base.OnPreClose(); model.OnUpdateMailListEvent -= OnUpdateMailListEvent; model.OnUpdateMailStateChangeEvent -= OnUpdateMailStateChangeEvent; - scrPersonal.OnRefreshCell -= OnRefreshPersonalCell; - scrGlobal.OnRefreshCell -= OnRefreshGlobalCell; + scrMail.OnRefreshCell -= OnRefreshCell; + GlobalTimeEvent.Instance.secondEvent -= OnSecondEvent; } - private void OnTab0(bool value) + private void OnSecondEvent() { - if (value) + scrMail.m_Scorller.RefreshActiveCellViews(); + int personalMailCount = MailManager.Instance.GetMailCount(MailCategory.Personal); + txtCurrentMailCount.text = StringUtility.Contact(personalMailCount, "/", MailManager.Instance.personalMailMaxLimitCount); + } + + protected override void OpenSubUIByTabIndex() + { + switch (functionOrder) { - transPersonal.SetActive(true); - transGlobal.SetActive(false); - model.nowMailCategory = MailCategory.Personal; - CreatePersonalScr(model.nowMailCategory); + case 0: + model.nowMailCategory = MailCategory.Personal; + btnDeleteAllRead.SetActive(true); + btnClaimAll.SetActive(true); + transCurrentMailCount.SetActive(true); + int personalMailCount = MailManager.Instance.GetMailCount(MailCategory.Personal); + txtCurrentMailCount.text = StringUtility.Contact(personalMailCount, "/", MailManager.Instance.personalMailMaxLimitCount); + DisPlay(); + break; + case 1: + model.nowMailCategory = MailCategory.Global; + btnDeleteAllRead.SetActive(false); + btnClaimAll.SetActive(false); + transCurrentMailCount.SetActive(false); + DisPlay(); + break; + default: + Debug.LogWarning("鏈煡鐨勬爣绛剧储寮�: " + functionOrder); + break; } } - private void OnTab1(bool value) + private void OnRefreshCell(ScrollerDataType type, CellView cell) { - if (value) - { - transPersonal.SetActive(false); - transGlobal.SetActive(true); - model.nowMailCategory = MailCategory.Global; - CreateGlobalScr(model.nowMailCategory); - } - } - - protected override void OnOpen() - { - togTab0.isOn = true; - togTab1.isOn = false; - model.nowMailCategory = MailCategory.Personal; - CreatePersonalScr(model.nowMailCategory); - } - - private void OnRefreshPersonalCell(ScrollerDataType type, CellView cell) - { - var _cell = cell.GetComponent<MailPersonalCell>(); - _cell?.Display(cell.index, cell); - } - - private void OnRefreshGlobalCell(ScrollerDataType type, CellView cell) - { - var _cell = cell.GetComponent<MailGlobalCell>(); + var _cell = cell.GetComponent<MailCell>(); _cell?.Display(cell.index, cell); } @@ -113,50 +111,24 @@ model.ClaimMail(); } - public void CreatePersonalScr(MailCategory mailCategory) - { - scrPersonal.Refresh(); - var list = model.GetSortMailScrList(mailCategory); - if (list != null) - { - for (int i = 0; i < list.Count; i++) - { - CellInfo cellInfo = new CellInfo(); - cellInfo.infoInt1 = (int)mailCategory; - scrPersonal.AddCell(ScrollerDataType.Header, i, cellInfo); - } - } - scrPersonal.Restart(); - } - public void CreateGlobalScr(MailCategory mailCategory) - { - scrGlobal.Refresh(); - var list = model.GetSortMailScrList(mailCategory); - if (list != null) - { - for (int i = 0; i < list.Count; i++) - { - CellInfo cellInfo = new CellInfo(); - cellInfo.infoInt1 = (int)mailCategory; - scrGlobal.AddCell(ScrollerDataType.Header, i, cellInfo); - } - } - scrGlobal.Restart(); - } - private void OnUpdateMailStateChangeEvent() { - RefreshScr(); + DisPlay(); } private void OnUpdateMailListEvent() { - RefreshScr(); + DisPlay(); } - private void RefreshScr() - { - var list = model.GetSortMailScrList(model.nowMailCategory); + + private void DisPlay() + { + scrMail.Refresh(); + scrMail.Restart(); + + MailCategory mailCategory = model.nowMailCategory; + var list = model.GetSortMailScrList(mailCategory); if (list.IsNullOrEmpty()) { transNoMail.SetActive(true); @@ -164,9 +136,20 @@ else { transNoMail.SetActive(false); - scrPersonal.m_Scorller.RefreshActiveCellViews(); - scrGlobal.m_Scorller.RefreshActiveCellViews(); + scrMail.Refresh(); + for (int i = 0; i < list.Count; i++) + { + CellInfo cellInfo = new CellInfo(); + cellInfo.infoInt1 = (int)mailCategory; + scrMail.AddCell(ScrollerDataType.Header, i, cellInfo); + } + + scrMail.Restart(); } + int personalMailCount = MailManager.Instance.GetMailCount(MailCategory.Personal); + txtCurrentMailCount.text = StringUtility.Contact(personalMailCount, "/", MailManager.Instance.personalMailMaxLimitCount); } + + } -- Gitblit v1.8.0