MailContentView.cs 2.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  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 _index;
  10. public override void Dispose()
  11. {
  12. base.Dispose();
  13. }
  14. protected override void OnInit()
  15. {
  16. base.OnInit();
  17. _ui = UI_MailContentUI.Create();
  18. this.viewCom = _ui.target;
  19. this.viewCom.Center();
  20. this.modal = true;
  21. viewAnimationType = EnumViewAnimationType.ZOOM_CENTER;
  22. _ui.m_listReward.itemRenderer = RenderListRewardItem;
  23. // _ui.m_listReward.onClickItem.Add(OnClickListRewardItem);
  24. _ui.m_btnGet.onClick.Add(OnClickBtnGet);
  25. _ui.m_btnDelete.onClick.Add(OnClickBtnDelete);
  26. }
  27. protected override void OnShown()
  28. {
  29. base.OnShown();
  30. EventAgent.AddEventListener(ConstMessage.MAIL_CHANGE, UpdateNormal);
  31. _index = (int)this.viewData;
  32. MailDataManager.Instance.ChangeMailReadState(_index);
  33. MailData data = MailDataManager.Instance.mailListData[_index];
  34. _ui.m_c1.selectedIndex = data.rewards.Count == 0 ? 0 : 1;
  35. _ui.m_txtTitle.text = data.title;
  36. _ui.m_ComContent.target.scrollPane.ScrollTop();
  37. _ui.m_ComContent.m_txtTo.text = data.toName;
  38. _ui.m_ComContent.m_txtFrom.text = data.fromName;
  39. _ui.m_ComContent.m_txtContent.text = data.content;
  40. UpdateNormal();
  41. }
  42. private void UpdateNormal()
  43. {
  44. MailData data = MailDataManager.Instance.mailListData[_index];
  45. _ui.m_btnGet.visible = data.rewards.Count > 0 && data.isGet == 0 ? true : false;
  46. _ui.m_btnDelete.visible = _ui.m_btnGet.visible == true ? false : true;
  47. _ui.m_listReward.numItems = data.rewards.Count;
  48. }
  49. private void RenderListRewardItem(int index, GObject obj)
  50. {
  51. MailData data = MailDataManager.Instance.mailListData[_index];
  52. ItemData reward = data.rewards[index];
  53. if (obj.data == null)
  54. {
  55. obj.data = new ItemView(obj as GComponent);
  56. }
  57. (obj.data as ItemView).SetData(reward);
  58. (obj.data as ItemView).ImgGotVisible = data.isGet == 1 ? true : false;
  59. }
  60. private void OnClickBtnGet()
  61. {
  62. MailDataManager.Instance.GetRewards(_index);
  63. }
  64. private void OnClickBtnDelete()
  65. {
  66. MailDataManager.Instance.DeleteMail(_index);
  67. this.Hide();
  68. }
  69. protected override void OnHide()
  70. {
  71. base.OnHide();
  72. EventAgent.RemoveEventListener(ConstMessage.MAIL_CHANGE, UpdateNormal);
  73. }
  74. }
  75. }