ResultTipsView.cs 6.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185
  1. using System;
  2. using System.Collections.Generic;
  3. using ET;
  4. using FairyGUI;
  5. using UI.MiniGame;
  6. using UnityEngine;
  7. namespace GFGGame
  8. {
  9. public class ResultTipsView : BaseWindow
  10. {
  11. private UI_ResultTipsUI _ui;
  12. private bool gameResult;
  13. private int timeResult;
  14. private int gameType;
  15. private int gameID;
  16. private List<ActivityOpenCfg> activityGameDate;
  17. private Dictionary<int, string> viewJumpView = new Dictionary<int, string>(){{1,"FlipGameView"},{ 2,"TZFEGameView"} };
  18. //通关评价,不同关卡不同
  19. private List<int> CustemsNum = new List<int>()
  20. {
  21. 10,
  22. 30,
  23. 60,
  24. };
  25. public override void Dispose()
  26. {
  27. if (_ui != null)
  28. {
  29. _ui.Dispose();
  30. _ui = null;
  31. }
  32. base.Dispose();
  33. }
  34. protected override void OnInit()
  35. {
  36. base.OnInit();
  37. packageName = UI_ResultTipsUI.PACKAGE_NAME;
  38. _ui = UI_ResultTipsUI.Create();
  39. this.viewCom = _ui.target;
  40. isfullScreen = true;
  41. _ui.m_exitBtn.onClick.Add(OnClickExit);
  42. _ui.m_againBtn.onClick.Add(OnClickAgain);
  43. _ui.m_rewardList.itemRenderer = RenderRewardList;
  44. }
  45. protected override void OnShown()
  46. {
  47. base.OnShown();
  48. if ((this.viewData as object[]).Length >= 3)
  49. {
  50. gameResult = (bool)(this.viewData as object[])[0];
  51. gameType = (int)(this.viewData as object[])[1];
  52. timeResult = (int) (this.viewData as object[])[2];
  53. gameID = (int)(this.viewData as object[])[3];
  54. }
  55. UpdateView();
  56. ReqResultReward();
  57. }
  58. private void UpdateView()
  59. {
  60. ItemCfg itemCfg;
  61. switch (gameType)
  62. {
  63. case 1:
  64. CardGame cardGameDate = CardGameArray.Instance.GetCfg(gameID);
  65. CustemsNum[0] = cardGameDate.timeStar3;
  66. CustemsNum[1] = cardGameDate.timeStar2;
  67. CustemsNum[2] = cardGameDate.timeStar1;
  68. itemCfg = ItemCfgArray.Instance.GetCfg(cardGameDate.comsumeStartArr[0][0]);
  69. _ui.m_consumeIcon.url = ResPathUtil.GetCommonGameResPath(itemCfg.res);
  70. _ui.m_consumeTxt.text = cardGameDate.comsumeStartArr[0][1].ToString();
  71. break;
  72. case 2:
  73. Merge2048Game MergeGameDate = Merge2048GameArray.Instance.GetCfg(gameID);
  74. CustemsNum[0] = MergeGameDate.timeStar3;
  75. CustemsNum[1] = MergeGameDate.timeStar2;
  76. CustemsNum[2] = MergeGameDate.timeStar1;
  77. itemCfg = ItemCfgArray.Instance.GetCfg(MergeGameDate.comsumeStartArr[0][0]);
  78. _ui.m_consumeIcon.url = ResPathUtil.GetCommonGameResPath(itemCfg.res);
  79. _ui.m_consumeTxt.text = MergeGameDate.comsumeStartArr[0][1].ToString();
  80. break;
  81. case 3:
  82. break;
  83. default:
  84. break;
  85. }
  86. if (gameResult)
  87. {
  88. _ui.m_failTxt.visible = false;
  89. _ui.m_success.visible = true ;
  90. _ui.m_resultTxt.text = "通关奖励";
  91. _ui.m_resultTitle.url = "ui://MiniGame/shengli_bt";
  92. UpdateStar();
  93. }
  94. else
  95. {
  96. _ui.m_failTxt.visible = true;
  97. _ui.m_success.visible = false;
  98. _ui.m_resultTxt.text = "失败奖励";
  99. _ui.m_resultTitle.url = "ui://MiniGame/shibai_bt";
  100. }
  101. activityGameDate = ActivityOpenCfgArray.Instance.GetCfgsBytype(ConstLimitTimeActivityType.ActLimitStlyc);
  102. }
  103. private void UpdateStar()
  104. {
  105. int starNum = 0;
  106. for (int i = CustemsNum.Count - 1; i >= 0; i--)
  107. {
  108. if (timeResult <= CustemsNum[i])
  109. {
  110. starNum += 1;
  111. }
  112. }
  113. switch(starNum)
  114. {
  115. case 1:
  116. _ui.m_star1.url = "ui://MiniGame/tb_zx_pt_star";
  117. _ui.m_star2.url = "ui://MiniGame/tb_zx_pt_star_grey";
  118. _ui.m_star3.url = "ui://MiniGame/tb_zx_pt_star_grey";
  119. break;
  120. case 2:
  121. _ui.m_star1.url = "ui://MiniGame/tb_zx_pt_star";
  122. _ui.m_star2.url = "ui://MiniGame/tb_zx_pt_star";
  123. _ui.m_star3.url = "ui://MiniGame/tb_zx_pt_star_grey";
  124. break;
  125. case 3:
  126. _ui.m_star1.url = "ui://MiniGame/tb_zx_pt_star";
  127. _ui.m_star2.url = "ui://MiniGame/tb_zx_pt_star";
  128. _ui.m_star3.url = "ui://MiniGame/tb_zx_pt_star";
  129. break;
  130. default:
  131. _ui.m_star1.url = "ui://MiniGame/tb_zx_pt_star_grey";
  132. _ui.m_star2.url = "ui://MiniGame/tb_zx_pt_star_grey";
  133. _ui.m_star3.url = "ui://MiniGame/tb_zx_pt_star_grey";
  134. break;
  135. }
  136. }
  137. protected override void OnHide()
  138. {
  139. base.OnHide();
  140. }
  141. private void OnClickExit()
  142. {
  143. this.Hide();
  144. ViewManager.Hide(viewJumpView[gameType]);
  145. }
  146. private async void OnClickAgain()
  147. {
  148. this.Hide();
  149. var result = await MiniGameProxy.ReqMiniGameStart(gameID, gameType, activityGameDate[0].id);
  150. if (!result)
  151. {
  152. ViewManager.Hide(viewJumpView[gameType]);
  153. return;
  154. }
  155. ViewManager.Show(viewJumpView[gameType],new object[] { gameID });
  156. }
  157. private void RenderRewardList(int index,GObject obj)
  158. {
  159. UI_rewardItem item = UI_rewardItem.Proxy(obj);
  160. ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(MiniGameDateManager.Instance.itemList[index].ConfigId);
  161. if (itemCfg != null)
  162. {
  163. item.m_icon.url = ResPathUtil.GetCommonGameResPath(itemCfg.res);
  164. item.m_Count.text = MiniGameDateManager.Instance.itemList[index].Count.ToString();
  165. }
  166. UI_rewardItem.ProxyEnd();
  167. }
  168. private async void ReqResultReward()
  169. {
  170. var result = await MiniGameProxy.ReqMiniGameEnd(gameID, gameType, timeResult, gameResult, activityGameDate[0].id);
  171. if (!result) return;
  172. _ui.m_rewardList.numItems = MiniGameDateManager.Instance.itemList.Count;
  173. }
  174. }
  175. }