LeagueApplyView.cs 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123
  1. using System.Collections.Generic;
  2. using System.Threading.Tasks;
  3. using ET;
  4. using FairyGUI;
  5. using UI.League;
  6. using UnityEngine;
  7. namespace GFGGame
  8. {
  9. //联盟申请列表
  10. public class LeagueApplyView : BaseWindow
  11. {
  12. private UI_LeagueApplyUI _ui;
  13. private List<long> _listKeys;
  14. public override void Dispose()
  15. {
  16. if (_ui != null)
  17. {
  18. _ui.Dispose();
  19. _ui = null;
  20. }
  21. base.Dispose();
  22. }
  23. protected override void OnInit()
  24. {
  25. base.OnInit();
  26. packageName = UI_LeagueApplyUI.PACKAGE_NAME;
  27. _ui = UI_LeagueApplyUI.Create();
  28. this.viewCom = _ui.target;
  29. isfullScreen = true;
  30. // _ui.m_loaBg.url = ResPathUtil.GetBgImgPath("gzs_bjbj");
  31. _ui.m_btnNoCheck.onClick.Add(OnBtnNoCheckClick);
  32. _ui.m_btnRule.onClick.Add(OnBtnRuleClick);
  33. _ui.m_list.itemRenderer = RenderListItem;
  34. }
  35. protected override void AddEventListener()
  36. {
  37. base.AddEventListener();
  38. }
  39. protected override void OnShown()
  40. {
  41. base.OnShown();
  42. _ui.m_btnNoCheck.selected = !LeagueDataManager.Instance.LeagueData.NeedAudit;
  43. UpdateView();
  44. }
  45. protected override void OnHide()
  46. {
  47. base.OnHide();
  48. }
  49. protected override void RemoveEventListener()
  50. {
  51. base.RemoveEventListener();
  52. }
  53. private void OnBtnRuleClick()
  54. {
  55. ViewManager.Show<RuleView>();
  56. }
  57. private void OnBtnNoCheckClick()
  58. {
  59. LeagueSproxy.ReqSetLeagueApply(!_ui.m_btnNoCheck.selected).Coroutine();
  60. }
  61. private void UpdateView()
  62. {
  63. _listKeys = new List<long>(LeagueDataManager.Instance.ListApplyDatas.Keys);
  64. _ui.m_list.numItems = LeagueDataManager.Instance.ListApplyDatas.Count;
  65. }
  66. private void RenderListItem(int index, GObject obj)
  67. {
  68. OtherRoleInfoData roleInfoData = LeagueDataManager.Instance.ListApplyDatas[_listKeys[index]];
  69. UI_ListApplyItem item = UI_ListApplyItem.Proxy(obj);
  70. RoleInfoManager.Instance.UpdateHeadWithLv(item.m_comHead, roleInfoData.headId, roleInfoData.headBorderId, roleInfoData.roleLv);
  71. item.m_txtName.text = roleInfoData.roleName;
  72. if (item.m_btnAgree.data == null)
  73. {
  74. item.m_btnAgree.onClick.Add(OnBtnAgreeClick);
  75. }
  76. item.m_btnAgree.data = roleInfoData.roleId;
  77. if (item.m_btnRefuse.data == null)
  78. {
  79. item.m_btnAgree.onClick.Add(OnBtnRefuseClick);
  80. }
  81. item.m_btnRefuse.data = roleInfoData.roleId;
  82. UI_ListApplyItem.ProxyEnd();
  83. }
  84. private async void OnBtnAgreeClick(EventContext context)
  85. {
  86. long roleId = (long)(context.sender as GObject).data;
  87. LeagueHotelCfg hotelCfg = LeagueHotelCfgArray.Instance.GetCfg(LeagueDataManager.Instance.LeagueData.HotelLevel);
  88. if (LeagueDataManager.Instance.LeagueData.Num >= hotelCfg.limit)
  89. {
  90. PromptController.Instance.ShowFloatTextPrompt("雅集满员啦");
  91. return;
  92. }
  93. bool result = await LeagueSproxy.ReqAuditJoinLeague(roleId, true);
  94. if (result)
  95. {
  96. UpdateView();
  97. }
  98. }
  99. private async void OnBtnRefuseClick(EventContext context)
  100. {
  101. long roleId = (long)(context.sender as GObject).data;
  102. bool result = await LeagueSproxy.ReqAuditJoinLeague(roleId, false);
  103. if (result)
  104. {
  105. UpdateView();
  106. }
  107. }
  108. }
  109. }