LeagueApplyView.cs 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124
  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.UpdateHead(item.m_comHead, roleInfoData.headId, roleInfoData.headBorderId);
  71. RoleInfoManager.Instance.UpdateLv(item.m_comLv, roleInfoData.roleLv);
  72. item.m_txtName.text = roleInfoData.roleName;
  73. if (item.m_btnAgree.data == null)
  74. {
  75. item.m_btnAgree.onClick.Add(OnBtnAgreeClick);
  76. }
  77. item.m_btnAgree.data = roleInfoData.roleId;
  78. if (item.m_btnRefuse.data == null)
  79. {
  80. item.m_btnAgree.onClick.Add(OnBtnRefuseClick);
  81. }
  82. item.m_btnRefuse.data = roleInfoData.roleId;
  83. UI_ListApplyItem.ProxyEnd();
  84. }
  85. private async void OnBtnAgreeClick(EventContext context)
  86. {
  87. long roleId = (long)(context.sender as GObject).data;
  88. LeagueHotelCfg hotelCfg = LeagueHotelCfgArray.Instance.GetCfg(LeagueDataManager.Instance.LeagueData.HotelLevel);
  89. if (LeagueDataManager.Instance.LeagueData.Num >= hotelCfg.limit)
  90. {
  91. PromptController.Instance.ShowFloatTextPrompt("雅集满员啦");
  92. return;
  93. }
  94. bool result = await LeagueSproxy.ReqAuditJoinLeague(roleId, true);
  95. if (result)
  96. {
  97. UpdateView();
  98. }
  99. }
  100. private async void OnBtnRefuseClick(EventContext context)
  101. {
  102. long roleId = (long)(context.sender as GObject).data;
  103. bool result = await LeagueSproxy.ReqAuditJoinLeague(roleId, false);
  104. if (result)
  105. {
  106. UpdateView();
  107. }
  108. }
  109. }
  110. }