LeagueTeaPartyShowView.cs 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134
  1. using ET;
  2. using FairyGUI;
  3. using Hutool;
  4. using System.Collections.Generic;
  5. using cfg.GfgCfg;
  6. using UI.League;
  7. using UnityEngine;
  8. namespace GFGGame
  9. {
  10. public class LeagueTeaPartyShowView : BaseWindow
  11. {
  12. private UI_LeagueTeaPartyShowUI _ui;
  13. private List<UI_comTeaPartyOverItem> teaPartyOverItemList = new List<UI_comTeaPartyOverItem>();
  14. private List<TeapartyRoleCfg> teapartyRoleCfg;
  15. private int timeIndex = 3; //定时器时间计算
  16. public override void Dispose()
  17. {
  18. if (_ui != null)
  19. {
  20. _ui.Dispose();
  21. _ui = null;
  22. }
  23. base.Dispose();
  24. }
  25. protected override void OnInit()
  26. {
  27. base.OnInit();
  28. packageName = UI_LeagueTeaPartyShowUI.PACKAGE_NAME;
  29. _ui = UI_LeagueTeaPartyShowUI.Create();
  30. this.viewCom = _ui.target;
  31. isfullScreen = true;
  32. isReturnView = true;
  33. _ui.m_loaBg.url = ResPathUtil.GetBgImgPath("chahuibg");
  34. _ui.m_btnBack.onClick.Add(OnBtnBackClick);
  35. teaPartyOverItemList.Add(_ui.m_TeaPartyOverItem1);
  36. teaPartyOverItemList.Add(_ui.m_TeaPartyOverItem2);
  37. teaPartyOverItemList.Add(_ui.m_TeaPartyOverItem3);
  38. teaPartyOverItemList.Add(_ui.m_TeaPartyOverItem4);
  39. teaPartyOverItemList.Add(_ui.m_TeaPartyOverItem5);
  40. teaPartyOverItemList.Add(_ui.m_TeaPartyOverItem6);
  41. teapartyRoleCfg = CommonDataManager.Tables.TblTeapartyRoleCfg.GetGroup1ById(LeagueDataManager.Instance.TeaPartyId);
  42. }
  43. protected override void AddEventListener()
  44. {
  45. base.AddEventListener();
  46. }
  47. protected override void OnShown()
  48. {
  49. base.OnShown();
  50. timeIndex = 3;
  51. _ui.m_txtCountdown.text = string.Format("将在[color=#FF6600]{0}s[/color]后进入下一阶段", timeIndex);
  52. GetRoleContainerInfos();
  53. Timers.inst.Add(1, 3, UpdateTime);
  54. }
  55. protected override void OnHide()
  56. {
  57. base.OnHide();
  58. Timers.inst.Remove(UpdateTime);
  59. }
  60. protected override void RemoveEventListener()
  61. {
  62. base.RemoveEventListener();
  63. }
  64. private async void GetRoleContainerInfos()
  65. {
  66. bool result = await LeagueSproxy.GetRoleContainerInfos(RoleDataManager.roleId);
  67. if (result)
  68. {
  69. var roleContainerList = LeagueDataManager.Instance.RoleContainerList;
  70. for (int index = 0; index < teaPartyOverItemList.Count; index++)
  71. {
  72. var itemObj = teaPartyOverItemList[index];
  73. itemObj.m_txtRoleName.text = teapartyRoleCfg[index].Name;
  74. itemObj.m_txtGuildName.text = roleContainerList[index].MaxScoreRoleName;
  75. var headItemId = roleContainerList[index].HeadItemId;
  76. ItemCfg itemHeadCfg = CommonDataManager.Tables.TblItemCfg.GetOrDefault(5000001);
  77. if (headItemId > 0)
  78. {
  79. itemHeadCfg = CommonDataManager.Tables.TblItemCfg.GetOrDefault(headItemId);
  80. }
  81. itemObj.m_iconRole.url = ResPathUtil.GetHeadPath(itemHeadCfg.Res);
  82. var headBorderItemId = roleContainerList[index].HeadBorderItemId;
  83. ItemCfg itemBorderCfg = CommonDataManager.Tables.TblItemCfg.GetOrDefault(5005001);
  84. if (headBorderItemId > 0)
  85. {
  86. itemBorderCfg = CommonDataManager.Tables.TblItemCfg.GetOrDefault(headBorderItemId);
  87. }
  88. itemObj.m_iconRoleBg.url = ResPathUtil.GetHeadBorderPath(itemBorderCfg.Res);
  89. }
  90. }
  91. }
  92. private void OnBtnBackClick()
  93. {
  94. ViewManager.GoBackFrom(typeof(LeagueTeaPartyShowView).FullName);
  95. }
  96. private void openNextView()
  97. {
  98. var openCfg = CommonDataManager.Tables.TblTeapartyOpenCfg.GetOrDefault(LeagueDataManager.Instance.TeaPartyId);
  99. string stroyStartID = openCfg.StoryId.ToString();
  100. ViewManager.Show<StoryDialogView>(new object[] { stroyStartID, false, new OnCompleteStoryDialogCall(OnCompletePriorStoryDialog), null, true }, true);
  101. }
  102. private static void OnCompletePriorStoryDialog(bool done, object param)
  103. {
  104. ViewManager.DeleteViewStackCountDown(null, 2);
  105. ViewManager.Show<LeagueTeaPartyOverView>();
  106. }
  107. private void UpdateTime(object param)
  108. {
  109. timeIndex -= 1;
  110. _ui.m_txtCountdown.text = string.Format("将在[color=#FF6600]{0}s[/color]后进入下一阶段", timeIndex);
  111. if (timeIndex <= 0) {
  112. openNextView();
  113. Timers.inst.Remove(UpdateTime);
  114. }
  115. }
  116. }
  117. }