LuckyBoxBonusView.cs 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165
  1. using UnityEngine;
  2. using FairyGUI;
  3. using UI.LuckyBox;
  4. using UI.CommonGame;
  5. using System.Collections.Generic;
  6. namespace GFGGame
  7. {
  8. public class LuckyBoxBonusView : BaseWindow
  9. {
  10. private UI_LuckBoxBonusUI _ui;
  11. public override void Dispose()
  12. {
  13. base.Dispose();
  14. }
  15. protected override void OnInit()
  16. {
  17. base.OnInit();
  18. packageName = UI_LuckBoxBonusUI.PACKAGE_NAME;
  19. _ui = UI_LuckBoxBonusUI.Create();
  20. this.viewCom = _ui.target;
  21. isfullScreen = true;
  22. InitAllItem();
  23. _ui.m_bg.touchable = false;
  24. _ui.m_bg.onClick.Add(OnClickBg);
  25. }
  26. protected override void OnShown()
  27. {
  28. base.OnShown();
  29. List<ItemData> itemList = (viewData as object[])[0] as List<ItemData>;
  30. if (itemList != null)
  31. {
  32. _ui.m_bg.touchable = false;
  33. int count = itemList.Count;
  34. if (count == 10)
  35. {
  36. ShowBonusList(itemList);
  37. }
  38. else if (count > 0)
  39. {
  40. ShowBonus(itemList[0]);
  41. }
  42. else
  43. {
  44. _ui.m_bg.touchable = true;
  45. }
  46. }
  47. else
  48. {
  49. _ui.m_bg.touchable = true;
  50. }
  51. }
  52. protected override void OnHide()
  53. {
  54. base.OnHide();
  55. }
  56. private void OnClickBg()
  57. {
  58. this.Hide();
  59. ViewManager.Show(ViewName.LUCKY_BOX_VIEW, ViewManager.GetGoBackDatas(ViewName.LUCKY_BOX_STAR_VIEW));
  60. // ViewManager.GoBackFrom(ViewName.LUCKY_BOX_VIEW);
  61. }
  62. private void ShowBonusList(List<ItemData> itemList)
  63. {
  64. HideAllItem();
  65. for (int i = 0; i < 10; i++)
  66. {
  67. ItemData itemData = itemList[i];
  68. GObject itemObject = _ui.target.GetChild("item" + i);
  69. if (itemObject != null)
  70. {
  71. UI_LuckyBoxBonusItem itemUI = UI_LuckyBoxBonusItem.Proxy(itemObject);
  72. UpdateItem(itemUI, itemData);
  73. Timers.inst.Add(0.1f * i, 1, (object param) =>
  74. {
  75. itemObject.visible = true;
  76. if ((int)param == 9)
  77. {
  78. Timers.inst.Add(0.1f, 1, (object param) =>
  79. {
  80. _ui.m_bg.touchable = true;
  81. List<ItemData> list = LuckyBoxDataManager.Instance.GetFirstClothingList();
  82. if (list.Count > 0)
  83. {
  84. ViewManager.Show(ViewName.LUCKY_BOX_CARD_VIEW, new object[] { list, FirstGetCardViewType.CANNOT_JUMP_CANNOT_SUIT });
  85. }
  86. else
  87. {
  88. int itemId = GetSuitItemController.TryShow(0);
  89. }
  90. });
  91. }
  92. }, i);
  93. }
  94. }
  95. }
  96. private void ShowBonus(ItemData itemData)
  97. {
  98. HideAllItem();
  99. _ui.m_itemOne.visible = true;
  100. UpdateItem(UI_LuckyBoxBonusItem.Proxy(_ui.m_itemOne), itemData);
  101. _ui.m_bg.touchable = true;
  102. }
  103. private void HideAllItem()
  104. {
  105. _ui.m_itemOne.visible = false;
  106. for (int i = 0; i < 10; i++)
  107. {
  108. GObject itemObject = _ui.target.GetChild("item" + i);
  109. if (itemObject != null)
  110. {
  111. itemObject.visible = false;
  112. }
  113. }
  114. }
  115. private void UpdateItem(UI_LuckyBoxBonusItem itemUI, ItemData itemData)
  116. {
  117. ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(itemData.id);
  118. itemUI.m_icon.url = ResPathUtil.GetIconPath(itemCfg);
  119. itemUI.m_imgNew.visible = ItemDataManager.GetItemNum(itemData.id) == 1 ? true : false;
  120. string itemName = itemCfg.name;
  121. if (itemData.num > 1)
  122. {
  123. itemName += "x" + itemData.num;
  124. }
  125. itemUI.m_txtName.text = itemName;
  126. RarityIconController.UpdateRarityIcon(itemUI.m_rarity, itemData.id, false);
  127. itemUI.target.data = itemData.id;
  128. }
  129. private void InitAllItem()
  130. {
  131. _ui.m_itemOne.onClick.Add(OnClickItemUI);
  132. for (int i = 0; i < 10; i++)
  133. {
  134. GObject itemObject = _ui.target.GetChild("item" + i);
  135. if (itemObject != null)
  136. {
  137. itemObject.onClick.Add(OnClickItemUI);
  138. }
  139. }
  140. }
  141. private void OnClickItemUI(EventContext context)
  142. {
  143. GComponent item = context.sender as GComponent;
  144. int itemID = (int)item.data;
  145. GoodsItemTipsController.ShowItemTips(itemID);
  146. }
  147. }
  148. }