LeagueApplyView.cs 4.1 KB

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