TimeTracingShowView.cs 7.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using cfg.GfgCfg;
  5. using ET;
  6. using FairyGUI;
  7. using UI.CommonGame;
  8. using UI.TimeTracing;
  9. using UnityEngine;
  10. namespace GFGGame
  11. {
  12. public class TimeTracingShowView : BaseWindow
  13. {
  14. private UI_TimeTracingShowUI _ui;
  15. private List<int> suitIdList = new List<int>() { 201030, 201010, 202006 };
  16. private Dictionary<int, string> nameIconList = new Dictionary<int, string>()
  17. { [201030] = "dtfd", [201010] = "jldl", [202006] = "sszz" };
  18. private int SuitID = 201030;
  19. private int ChapterID;
  20. public override void Dispose()
  21. {
  22. base.Dispose();
  23. }
  24. protected override void OnInit()
  25. {
  26. base.OnInit();
  27. packageName = UI_TimeTracingShowUI.PACKAGE_NAME;
  28. _ui = UI_TimeTracingShowUI.Create();
  29. this.viewCom = _ui.target;
  30. isfullScreen = true;
  31. isReturnView = true;
  32. _ui.m_btnBack.onClick.Add(OnClickBtnBack);
  33. _ui.m_challgeBtn.onClick.Add(OnClickChallgeBtn);
  34. _ui.m_makeSuitBtn.target.onClick.Add(OnClickMakeSuitBtn);
  35. _ui.m_switchBtn.target.onClick.Add(OnClickSwitchBtn);
  36. _ui.m_ruleBtn.onClick.Add(RuleController.ShowRuleView);
  37. }
  38. protected override void AddEventListener()
  39. {
  40. base.AddEventListener();
  41. EventAgent.AddEventListener(ConstMessage.TIMETRACINGUPDATE, UpdateView);
  42. }
  43. protected override void RemoveEventListener()
  44. {
  45. base.RemoveEventListener();
  46. EventAgent.RemoveEventListener(ConstMessage.TIMETRACINGUPDATE, UpdateView);
  47. }
  48. protected override void OnShown()
  49. {
  50. base.OnShown();
  51. _ui.m_bg.url = ResPathUtil.GetBgImgPath("lrmj_bj");
  52. _ui.m_ruleBtn.data = 300029;
  53. UpdateView();
  54. RedDotController.Instance.SetComRedDot(_ui.m_switchBtn.target,
  55. TimeTracingDataManager.Instance.GetLevelRewardStatus() ||
  56. TimeTracingDataManager.Instance.GetAllChapterReward(), "", -200, -10);
  57. RedDotController.Instance.SetComRedDot(_ui.m_challgeBtn,
  58. TimeTracingDataManager.Instance.GetChapterIDRewardStatus(ChapterID), "", -100, 50);
  59. Timers.inst.AddUpdate(CheckGuide);
  60. }
  61. protected override void OnHide()
  62. {
  63. ReqSetData();
  64. base.OnHide();
  65. //DressUpObjUI dressUpObjUI = _ui.m_showSuit.data as DressUpObjUI;
  66. //if (dressUpObjUI != null)
  67. //{
  68. // dressUpObjUI.Dispose();
  69. //}
  70. Timers.inst.Remove(CheckGuide);
  71. }
  72. private void UpdateView()
  73. {
  74. SuitID = TimeTracingDataManager.SuitID;
  75. _ui.m_suitName.text = CommonDataManager.Tables.TblSuitCfg.GetOrDefault(SuitID).Name;
  76. CheckChapterID();
  77. _ui.m_nameIcon.url = string.Format("ui://TimeTracing/{0}", nameIconList[SuitID]);
  78. if (true)
  79. {
  80. DressUpObjUI dressUpObjUI;
  81. if (_ui.m_showSuit.data == null)
  82. {
  83. _ui.m_showSuit.data = new DressUpObjUI("SceneSuitFoster");
  84. }
  85. bool showAction = SuitCfgArray.Instance.CheckSuitHasAction(SuitID) &&
  86. DressUpMenuSuitDataManager.CheckSuitHasActionRes(SuitID);
  87. dressUpObjUI = _ui.m_showSuit.data as DressUpObjUI;
  88. // 改为异步加载
  89. dressUpObjUI.ResetSceneObjAsync(100, false, true, null, false, (go) =>
  90. {
  91. if (go != null)
  92. {
  93. dressUpObjUI.dressUpObj.PutOnSuitCfg(SuitID, showAction,
  94. new int[] { ConstDressUpItemType.BEI_JING }, false, false);
  95. dressUpObjUI.UpdateWrapper(_ui.m_showSuit);
  96. }
  97. else
  98. {
  99. Debug.LogError("场景对象加载失败");
  100. }
  101. });
  102. }
  103. }
  104. private async void OnClickChallgeBtn()
  105. {
  106. await TimeTracingSProxy.ReqGetMaxLevelInfo(ChapterID);
  107. await TimeTracingSProxy.ReqGetSuitRank(SuitID);
  108. ViewManager.Show<TimeTracingLevelView>(new object[] { ChapterID, SuitID });
  109. }
  110. private void OnClickMakeSuitBtn()
  111. {
  112. ViewManager.Show<ClothingSyntheticView>(new object[] { SuitID, 0 }, false, false);
  113. }
  114. private void OnClickShowSuitBtn()
  115. {
  116. if (SuitID == 0)
  117. {
  118. return;
  119. }
  120. int suitId = SuitID;
  121. int _suitTypeId = 0;
  122. for (int i = 0; i < CommonDataManager.Tables.TblSuitGuideMenuCfg.DataList.Count; i++)
  123. {
  124. // string[] suitIds = SuitGuideMenuCfgArray.Instance.dataArray[i].suitIds.Split(';');
  125. string[] suitIds = CommonDataManager.Tables.TblSuitGuideMenuCfg.DataList[i].SuitIds.ToArray();
  126. if (Array.IndexOf(suitIds, suitId.ToString()) >= 0)
  127. {
  128. _suitTypeId = CommonDataManager.Tables.TblSuitGuideMenuCfg.DataList[i].Id;
  129. break;
  130. }
  131. }
  132. ViewManager.Show<SuitShowView>(new object[] { _suitTypeId, suitId, new List<int>() { suitId }, false });
  133. }
  134. private void OnClickSwitchBtn()
  135. {
  136. ViewManager.Show<TimeTracingSwitchView>();
  137. }
  138. private void OnClickBtnBack()
  139. {
  140. ViewManager.GoBackFrom(typeof(TimeTracingShowView).FullName);
  141. }
  142. private async void ReqSetData()
  143. {
  144. await TimeTracingSProxy.ReqSetDataRecord(SuitID);
  145. }
  146. private void CheckChapterID()
  147. {
  148. List<ActivityOpenCfg> activityList =
  149. CommonDataManager.Tables.TblActivityOpenCfg.DataList.Where(a => a.Type == 21).ToList();
  150. foreach (var item in activityList)
  151. {
  152. if (item.Params1[0] == SuitID)
  153. {
  154. ChapterID = item.Params1[0];
  155. break;
  156. }
  157. }
  158. }
  159. private void CheckGuide(object param)
  160. {
  161. GRoot.inst.touchable = true;
  162. if (GuideDataManager.IsGuideFinish("TimeTracingShowView") <= 0)
  163. UpdateCheckGuide(null);
  164. else
  165. Timers.inst.Remove(CheckGuide);
  166. }
  167. protected void UpdateCheckGuide(object param)
  168. {
  169. if (!ViewManager.CheckIsTopView(this.viewCom)) return;
  170. GuideController.TryGuide(_ui.m_challgeBtn, "TimeTracingShowView", 4, "进入副本。");
  171. GuideController.TryGuide(_ui.m_switchBtn.target, "TimeTracingShowView", 7, "点击选择副本。", -1, true, 0, false,
  172. false, true);
  173. GuideController.TryGuide(_ui.m_makeSuitBtn.target, "TimeTracingShowView", 10, "前往合成套装。", -1, true, 0, false,
  174. false, true);
  175. GuideController.TryCompleteGuide("TimeTracingShowView", 10);
  176. }
  177. protected override void TryCompleteGuide()
  178. {
  179. base.TryCompleteGuide();
  180. GuideController.TryCompleteGuideIndex("TimeTracingShowView", 10);
  181. GuideController.TryCompleteGuide("TimeTracingShowView", 10);
  182. }
  183. }
  184. }