LuckyBoxNewDressView.cs 8.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212
  1. using System.Collections;
  2. using UnityEngine;
  3. using UI.LuckyBox;
  4. using System.Collections.Generic;
  5. using FairyGUI;
  6. using System.Linq;
  7. namespace GFGGame
  8. {
  9. public class LuckyBoxNewDressView : BaseWindow
  10. {
  11. private UI_LuckyBoxNewDressUI _ui;
  12. private List<ItemData> _rewardList = new List<ItemData>();
  13. // private List<ItemData> _newRewardList = new List<ItemData>();
  14. // private List<ItemData> _oldRewardList = new List<ItemData>();
  15. // private List<ItemData> _showRewardList = new List<ItemData>();
  16. // private int _type = 0;//弹窗类型:0可跳过,1:首次获得物品不可跳过,2首次获得物品不可跳过,不弹获得套装界面
  17. private GameObject gameObject;
  18. private GoWrapper wrapper;
  19. private GameObject gameObject1;
  20. private GoWrapper wrapper1;
  21. private GameObject gameObject2;
  22. private GoWrapper wrapper2;
  23. public override void Dispose()
  24. {
  25. base.Dispose();
  26. SceneController.DestroyObjectFromView(gameObject, wrapper);
  27. SceneController.DestroyObjectFromView(gameObject1, wrapper1);
  28. SceneController.DestroyObjectFromView(gameObject2, wrapper2);
  29. if (_ui != null)
  30. {
  31. _ui.Dispose();
  32. _ui = null;
  33. }
  34. }
  35. protected override void OnInit()
  36. {
  37. base.OnInit();
  38. packageName = UI_LuckyBoxNewDressUI.PACKAGE_NAME;
  39. _ui = UI_LuckyBoxNewDressUI.Create();
  40. this.viewCom = _ui.target;
  41. isfullScreen = true;
  42. this.modal = true;
  43. _ui.m_loaBg.onTouchBegin.Add(OnClickBg);
  44. _ui.m_btnPass.onClick.Add(OnClickBtnPass);
  45. _ui.m_loaBg.url = ResPathUtil.GetBgImgPath("zx_bg");
  46. string resPath = ResPathUtil.GetViewEffectPath("ui_ck", "ui_ck_zs");
  47. SceneController.AddObjectToView(gameObject, null, _ui.m_comCard.m_holder, resPath, out gameObject, out wrapper);
  48. }
  49. protected override void OnShown()
  50. {
  51. base.OnShown();
  52. List<ItemData> rewardList = this.viewData as List<ItemData>;
  53. if (_rewardList.Count > 0)
  54. {
  55. _rewardList.AddRange(rewardList);
  56. return;
  57. }
  58. else
  59. {
  60. _rewardList = rewardList;
  61. }
  62. _ui.m_btnPass.visible = false;
  63. // _newRewardList.Clear();
  64. // _oldRewardList.Clear();
  65. // for (int i = 0; i < _rewardList.Count; i++)
  66. // {
  67. // if (GetThisCount(_rewardList[i].id, _rewardList) == ItemDataManager.GetItemNum(_rewardList[i].id) && !IsAddToNewRewardList(_rewardList[i].id))
  68. // {
  69. // _newRewardList.Add(_rewardList[i]);
  70. // }
  71. // else
  72. // {
  73. // _oldRewardList.Add(_rewardList[i]);
  74. // }
  75. // }
  76. // if (LuckyBoxDataManager.Instance.luckyBoxId > 0)//必展示必掉奖励
  77. // {
  78. // int[][] bonus = LuckyBoxCfgArray.Instance.GetCfg(LuckyBoxDataManager.Instance.luckyBoxId).bonusArr;
  79. // List<ItemData> itemDatas = ItemUtil.CreateItemDataList(bonus, LuckyBoxDataManager.Instance.times);
  80. // _newRewardList.AddRange(itemDatas);
  81. // LuckyBoxDataManager.Instance.luckyBoxId = 0;
  82. // }
  83. LuckyBoxDataManager.Instance.luckyBoxId = 0;
  84. UpdateView();
  85. }
  86. private void UpdateView()
  87. {
  88. // _ui.m_btnPass.visible = _newRewardList.Count <= 1;
  89. // _newRewardList.Count > 0 ? _newRewardList : _oldRewardList;
  90. if (_rewardList.Count - 1 < 0) return;
  91. ItemData itemdata = _rewardList[_rewardList.Count - 1];
  92. ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(itemdata.id);
  93. string resPath = "";
  94. string resPath1 = "";
  95. switch (itemCfg.rarity)
  96. {
  97. case ConstDressRarity.Rarity_TIANYI:
  98. resPath = ResPathUtil.GetViewEffectPath("ui_LuckyBox", "CK_Yellow_01");
  99. SceneController.AddObjectToView(gameObject1, wrapper1, _ui.m_comCard.m_holder, resPath, out gameObject1, out wrapper1);
  100. _ui.m_comCard.m_holder.visible = true;
  101. resPath1 = ResPathUtil.GetViewEffectPath("ui_LuckyBox", "CK_Yellow_01_top");
  102. SceneController.AddObjectToView(gameObject2, wrapper2, _ui.m_comCard.m_holder1, resPath1, out gameObject2, out wrapper2);
  103. _ui.m_comCard.m_holder1.visible = true;
  104. break;
  105. case ConstDressRarity.Rarity_DIANCANG:
  106. resPath = ResPathUtil.GetViewEffectPath("ui_LuckyBox", "CK_Purple_02");
  107. SceneController.AddObjectToView(gameObject1, wrapper1, _ui.m_comCard.m_holder, resPath, out gameObject1, out wrapper1);
  108. _ui.m_comCard.m_holder.visible = true;
  109. resPath1 = ResPathUtil.GetViewEffectPath("ui_LuckyBox", "CK_Purple_02_top");
  110. SceneController.AddObjectToView(gameObject2, wrapper2, _ui.m_comCard.m_holder1, resPath1, out gameObject2, out wrapper2);
  111. _ui.m_comCard.m_holder1.visible = true;
  112. break;
  113. case ConstDressRarity.Rarity_ZHENXI:
  114. resPath = ResPathUtil.GetViewEffectPath("ui_LuckyBox", "CK_Bule_03");
  115. SceneController.AddObjectToView(gameObject1, wrapper1, _ui.m_comCard.m_holder, resPath, out gameObject1, out wrapper1);
  116. _ui.m_comCard.m_holder.visible = true;
  117. break;
  118. case ConstDressRarity.Rarity_FANPIN:
  119. resPath = ResPathUtil.GetViewEffectPath("ui_LuckyBox", "CK_grey_04");
  120. SceneController.AddObjectToView(gameObject1, wrapper1, _ui.m_comCard.m_holder, resPath, out gameObject1, out wrapper1);
  121. _ui.m_comCard.m_holder.visible = true;
  122. break;
  123. }
  124. _ui.m_comCard.m_loaType.url = ResPathUtil.GetCommonGameResPath("hd_sxicon_" + itemCfg.rarity);
  125. _ui.m_comCard.m_loaIcon.url = ResPathUtil.GetIconPath(itemCfg);
  126. _ui.m_comCard.m_loaProperty.url = ResPathUtil.GetCommonGameResPath("kp_sx_" + itemCfg.mainScore);
  127. _ui.m_comCard.m_txtName.text = itemCfg.name;
  128. _ui.m_comCard.m_txtDiscribe.text = itemCfg.desc;
  129. if (LuckyBoxDataManager.Instance.FirstRewardList.ContainsKey(_rewardList.Count - 1) == true)
  130. {
  131. LuckyBoxDataManager.Instance.FirstRewardList.Remove(_rewardList.Count - 1);
  132. }
  133. _rewardList.RemoveAt(_rewardList.Count - 1);
  134. }
  135. private void OnClickBg()
  136. {
  137. if (_rewardList.Count == 0)
  138. {
  139. // // if (_type == (int)FirstGetCardViewType.JUMP)
  140. // // {
  141. // ViewManager.Show(ViewName.LUCKY_BOX_BONUS_VIEW, new object[] { (this.viewData as object[])[0] as List<ItemData>, _rewardList });
  142. // // }
  143. // // else if (_type == (int)FirstGetCardViewType.CANNOT_JUMP)
  144. // // {
  145. // // GetSuitItemController.TryShow(0);
  146. // // }
  147. this.Hide();
  148. return;
  149. }
  150. _ui.m_t_close.Play(() =>
  151. {
  152. _ui.m_comCard.m_holder.visible = false;
  153. _ui.m_comCard.m_holder1.visible = false;
  154. _ui.m_t_open.Play();
  155. UpdateView();
  156. });
  157. }
  158. private int GetThisCount(int itemId, List<ItemData> rewards)
  159. {
  160. int count = 0;
  161. for (int i = 0; i < rewards.Count; i++)
  162. {
  163. if (rewards[i].id == itemId)
  164. {
  165. count++;
  166. }
  167. }
  168. return count;
  169. }
  170. private bool IsAddToNewRewardList(int itemId)
  171. {
  172. for (int i = 0; i < _rewardList.Count; i++)
  173. {
  174. if (itemId == _rewardList[i].id)
  175. {
  176. return true;
  177. }
  178. }
  179. return false;
  180. }
  181. private void OnClickBtnPass()
  182. {
  183. ViewManager.Show(ViewName.LUCKY_BOX_BONUS_VIEW, new object[] { (this.viewData as object[])[0], _rewardList });
  184. this.Hide();
  185. }
  186. protected override void OnHide()
  187. {
  188. _ui.m_t_close.Stop(true, false);
  189. _ui.m_t_open.Stop(true, false);
  190. base.OnHide();
  191. }
  192. }
  193. }