ResultTipsView.cs 6.3 KB

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