MailContentView.cs 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  1. using UI.Mail;
  2. using FairyGUI;
  3. using UI.CommonGame;
  4. namespace GFGGame
  5. {
  6. public class MailContentView : BaseWindow
  7. {
  8. private UI_MailContentUI _ui;
  9. private int _childIndex;
  10. private MailInfo mailInfo;
  11. public override void Dispose()
  12. {
  13. base.Dispose();
  14. }
  15. protected override void OnInit()
  16. {
  17. base.OnInit();
  18. _ui = UI_MailContentUI.Create();
  19. this.viewCom = _ui.target;
  20. this.viewCom.Center();
  21. this.modal = true;
  22. viewAnimationType = EnumViewAnimationType.ZOOM_CENTER;
  23. _ui.m_listReward.itemRenderer = RenderListRewardItem;
  24. _ui.m_btnGet.onClick.Add(OnClickBtnGet);
  25. _ui.m_btnDelete.onClick.Add(OnClickBtnDelete);
  26. }
  27. protected override void AddEventListener()
  28. {
  29. base.AddEventListener();
  30. EventAgent.AddEventListener(ConstMessage.MAIL_REWARD, UpdateNormal);
  31. }
  32. protected override void RemoveEventListener()
  33. {
  34. base.RemoveEventListener();
  35. EventAgent.RemoveEventListener(ConstMessage.MAIL_REWARD, UpdateNormal);
  36. }
  37. protected override void OnShown()
  38. {
  39. base.OnShown();
  40. // EventAgent.AddEventListener(ConstMessage.MAIL_CHANGE, UpdateNormal);
  41. long mailId = (long)this.viewData;
  42. mailInfo = MailDataManager.Instance.GetMailInfoById(mailId);
  43. _ui.m_c1.selectedIndex = mailInfo.rewards.Count == 0 ? 0 : 1;
  44. _ui.m_txtTitle.text = mailInfo.title;
  45. _ui.m_ComContent.target.scrollPane.ScrollTop();
  46. _ui.m_ComContent.m_txtContent.text = mailInfo.content;
  47. UpdateNormal();
  48. }
  49. private void UpdateNormal()
  50. {
  51. _ui.m_btnGet.visible = (ConstMailStatus)mailInfo.state == ConstMailStatus.ReadedButNotGet ? true : false;
  52. _ui.m_btnDelete.visible = _ui.m_btnGet.visible == true ? false : true;
  53. _ui.m_listReward.numItems = mailInfo.rewards.Count;
  54. }
  55. private void RenderListRewardItem(int index, GObject obj)
  56. {
  57. ItemData reward = mailInfo.rewards[index];
  58. if (obj.data == null)
  59. {
  60. obj.data = new ItemView(obj as GComponent);
  61. }
  62. (obj.data as ItemView).SetData(reward);
  63. (obj.data as ItemView).ImgGotVisible = (ConstMailStatus)mailInfo.state == ConstMailStatus.ReadedAndGot ? true : false;
  64. }
  65. private async void OnClickBtnGet()
  66. {
  67. bool result = await MailSProxy.ReqMailReward(mailInfo.mailId);
  68. if (result)
  69. {
  70. mailInfo = MailDataManager.Instance.GetMailInfoById(mailInfo.mailId);
  71. UpdateNormal();
  72. }
  73. }
  74. private async void OnClickBtnDelete()
  75. {
  76. bool result = await MailSProxy.ReqDeleteMail(mailInfo.mailId);
  77. if (result)
  78. {
  79. this.Hide();
  80. }
  81. }
  82. // protected override void OnHide()
  83. // {
  84. // base.OnHide();
  85. // // EventAgent.RemoveEventListener(ConstMessage.MAIL_CHANGE, UpdateNormal);
  86. // }
  87. }
  88. }