| | |
| | | using System; |
| | | using UnityEngine; |
| | | namespace vnxbqy.UI |
| | | |
| | | |
| | | public class MailWin : UIBase |
| | | { |
| | | public class MailWin : UIBase |
| | | [SerializeField] Transform transPersonal; |
| | | [SerializeField] Transform transGlobal; |
| | | [SerializeField] ScrollerController scrPersonal; |
| | | [SerializeField] ScrollerController scrGlobal; |
| | | [SerializeField] ButtonEx btnDeleteRead; |
| | | [SerializeField] ButtonEx btnClaimAll; |
| | | [SerializeField] ToggleEx togTab0; |
| | | [SerializeField] RedpointBehaviour rpTab0; |
| | | [SerializeField] ToggleEx togTab1; |
| | | [SerializeField] RedpointBehaviour rpTab1; |
| | | [SerializeField] Transform transNoMail; |
| | | MailManager model { get { return MailManager.Instance; } } |
| | | protected override void InitComponent() |
| | | { |
| | | [SerializeField] Transform transPersonal; |
| | | [SerializeField] Transform transGlobal; |
| | | [SerializeField] ScrollerController scrPersonal; |
| | | [SerializeField] ScrollerController scrGlobal; |
| | | [SerializeField] ButtonEx btnDeleteRead; |
| | | [SerializeField] ButtonEx btnClaimAll; |
| | | [SerializeField] ToggleEx togTab0; |
| | | [SerializeField] RedpointBehaviour rpTab0; |
| | | [SerializeField] ToggleEx togTab1; |
| | | [SerializeField] RedpointBehaviour rpTab1; |
| | | [SerializeField] Transform transNoMail; |
| | | MailManager model { get { return MailManager.Instance; } } |
| | | protected override void InitComponent() |
| | | { |
| | | base.InitComponent(); |
| | | btnDeleteRead.SetListener(OnDeleteRead); |
| | | btnClaimAll.SetListener(OnClaimAll); |
| | | togTab0.SetListener(OnTab0); |
| | | togTab1.SetListener(OnTab1); |
| | | } |
| | | base.InitComponent(); |
| | | btnDeleteRead.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; |
| | | protected override void OnPreOpen() |
| | | { |
| | | model.OnUpdateMailListEvent += OnUpdateMailListEvent; |
| | | model.OnUpdateMailStateChangeEvent += OnUpdateMailStateChangeEvent; |
| | | scrPersonal.OnRefreshCell += OnRefreshPersonalCell; |
| | | scrGlobal.OnRefreshCell += OnRefreshGlobalCell; |
| | | |
| | | rpTab0.redpointId = model.GetTabRedpointId(MailCategory.Personal); |
| | | rpTab1.redpointId = model.GetTabRedpointId(MailCategory.Global); |
| | | transNoMail.SetActive(false); |
| | | } |
| | | rpTab0.redpointId = model.GetTabRedpointId(MailCategory.Personal); |
| | | rpTab1.redpointId = model.GetTabRedpointId(MailCategory.Global); |
| | | transNoMail.SetActive(false); |
| | | } |
| | | |
| | | protected override void OnPreClose() |
| | | { |
| | | model.OnUpdateMailListEvent -= OnUpdateMailListEvent; |
| | | model.OnUpdateMailStateChangeEvent -= OnUpdateMailStateChangeEvent; |
| | | scrPersonal.OnRefreshCell -= OnRefreshPersonalCell; |
| | | scrGlobal.OnRefreshCell -= OnRefreshGlobalCell; |
| | | } |
| | | protected override void OnPreClose() |
| | | { |
| | | model.OnUpdateMailListEvent -= OnUpdateMailListEvent; |
| | | model.OnUpdateMailStateChangeEvent -= OnUpdateMailStateChangeEvent; |
| | | scrPersonal.OnRefreshCell -= OnRefreshPersonalCell; |
| | | scrGlobal.OnRefreshCell -= OnRefreshGlobalCell; |
| | | } |
| | | |
| | | private void OnTab0(bool value) |
| | | private void OnTab0(bool value) |
| | | { |
| | | if (value) |
| | | { |
| | | if (value) |
| | | { |
| | | transPersonal.SetActive(true); |
| | | transGlobal.SetActive(false); |
| | | model.nowMailCategory = MailCategory.Personal; |
| | | CreatePersonalScr(model.nowMailCategory); |
| | | } |
| | | } |
| | | |
| | | private void OnTab1(bool value) |
| | | { |
| | | 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; |
| | | transPersonal.SetActive(true); |
| | | transGlobal.SetActive(false); |
| | | model.nowMailCategory = MailCategory.Personal; |
| | | CreatePersonalScr(model.nowMailCategory); |
| | | } |
| | | } |
| | | |
| | | private void OnRefreshPersonalCell(ScrollerDataType type, CellView cell) |
| | | private void OnTab1(bool value) |
| | | { |
| | | if (value) |
| | | { |
| | | var _cell = cell.GetComponent<MailPersonalCell>(); |
| | | _cell?.Display(cell.index, cell); |
| | | transPersonal.SetActive(false); |
| | | transGlobal.SetActive(true); |
| | | model.nowMailCategory = MailCategory.Global; |
| | | CreateGlobalScr(model.nowMailCategory); |
| | | } |
| | | } |
| | | |
| | | private void OnRefreshGlobalCell(ScrollerDataType type, CellView cell) |
| | | { |
| | | var _cell = cell.GetComponent<MailGlobalCell>(); |
| | | _cell?.Display(cell.index, cell); |
| | | } |
| | | protected override void OnOpen() |
| | | { |
| | | togTab0.isOn = true; |
| | | togTab1.isOn = false; |
| | | model.nowMailCategory = MailCategory.Personal; |
| | | CreatePersonalScr(model.nowMailCategory); |
| | | } |
| | | |
| | | private void OnDeleteRead() |
| | | { |
| | | ConfirmCancel.ShowPopConfirm( |
| | | Language.Get("Mail101"), |
| | | Language.Get("Mail10"), |
| | | (bool isOk) => |
| | | { |
| | | if (isOk) |
| | | { |
| | | model.DeleteMail(); |
| | | //邮件删除成功 |
| | | SysNotifyMgr.Instance.ShowTip("Mail01"); |
| | | } |
| | | }); |
| | | } |
| | | private void OnRefreshPersonalCell(ScrollerDataType type, CellView cell) |
| | | { |
| | | var _cell = cell.GetComponent<MailPersonalCell>(); |
| | | _cell?.Display(cell.index, cell); |
| | | } |
| | | |
| | | private void OnClaimAll() |
| | | { |
| | | if (!model.IsCanHaveMail()) |
| | | private void OnRefreshGlobalCell(ScrollerDataType type, CellView cell) |
| | | { |
| | | var _cell = cell.GetComponent<MailGlobalCell>(); |
| | | _cell?.Display(cell.index, cell); |
| | | } |
| | | |
| | | private void OnDeleteRead() |
| | | { |
| | | ConfirmCancel.ShowPopConfirm( |
| | | Language.Get("Mail101"), |
| | | Language.Get("Mail10"), |
| | | (bool isOk) => |
| | | { |
| | | SysNotifyMgr.Instance.ShowTip("Mail02"); |
| | | return; |
| | | } |
| | | 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++) |
| | | if (isOk) |
| | | { |
| | | CellInfo cellInfo = new CellInfo(); |
| | | cellInfo.infoInt1 = (int)mailCategory; |
| | | scrPersonal.AddCell(ScrollerDataType.Header, i, cellInfo); |
| | | model.DeleteMail(); |
| | | //邮件删除成功 |
| | | SysNotifyMgr.Instance.ShowTip("Mail01"); |
| | | } |
| | | } |
| | | 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() |
| | | private void OnClaimAll() |
| | | { |
| | | if (!model.IsCanHaveMail()) |
| | | { |
| | | RefreshScr(); |
| | | SysNotifyMgr.Instance.ShowTip("Mail02"); |
| | | return; |
| | | } |
| | | model.ClaimMail(); |
| | | } |
| | | |
| | | private void OnUpdateMailListEvent() |
| | | public void CreatePersonalScr(MailCategory mailCategory) |
| | | { |
| | | scrPersonal.Refresh(); |
| | | var list = model.GetSortMailScrList(mailCategory); |
| | | if (list != null) |
| | | { |
| | | RefreshScr(); |
| | | 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 RefreshScr() |
| | | { |
| | | var list = model.GetSortMailScrList(model.nowMailCategory); |
| | | if (list.IsNullOrEmpty()) |
| | | { |
| | | transNoMail.SetActive(true); |
| | | } |
| | | else |
| | | { |
| | | transNoMail.SetActive(false); |
| | | scrPersonal.m_Scorller.RefreshActiveCellViews(); |
| | | scrGlobal.m_Scorller.RefreshActiveCellViews(); |
| | | } |
| | | private void OnUpdateMailStateChangeEvent() |
| | | { |
| | | RefreshScr(); |
| | | } |
| | | |
| | | private void OnUpdateMailListEvent() |
| | | { |
| | | RefreshScr(); |
| | | } |
| | | |
| | | private void RefreshScr() |
| | | { |
| | | var list = model.GetSortMailScrList(model.nowMailCategory); |
| | | if (list.IsNullOrEmpty()) |
| | | { |
| | | transNoMail.SetActive(true); |
| | | } |
| | | else |
| | | { |
| | | transNoMail.SetActive(false); |
| | | scrPersonal.m_Scorller.RefreshActiveCellViews(); |
| | | scrGlobal.m_Scorller.RefreshActiveCellViews(); |
| | | } |
| | | } |
| | | } |