GetBonusView.cs 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. using FairyGUI;
  2. using UI.CommonGame;
  3. using System.Collections;
  4. using System.Collections.Generic;
  5. namespace GFGGame
  6. {
  7. public class GetBonusView : BaseWindow
  8. {
  9. private UI_GetBonusUI _ui;
  10. private List<ItemData> _bonusList;
  11. protected override void OnInit()
  12. {
  13. base.OnInit();
  14. _ui = UI_GetBonusUI.Create();
  15. this.viewCom = _ui.target;
  16. this.viewCom.Center();
  17. this.modal = true;
  18. _ui.m_listBonus.itemRenderer = UpdateBonusItem;
  19. _ui.m_listBonus.onClickItem.Add(OnClickListBonusItem);
  20. }
  21. protected override void OnShown()
  22. {
  23. base.OnShown();
  24. _bonusList = this.viewData as List<ItemData>;
  25. if (_bonusList != null)
  26. {
  27. _ui.m_listBonus.numItems = _bonusList.Count;
  28. }
  29. else
  30. {
  31. _ui.m_listBonus.numItems = 0;
  32. }
  33. if (_ui.m_listBonus.numItems > 4)
  34. {
  35. _ui.m_listBonus.columnGap = 40;
  36. }
  37. else
  38. {
  39. _ui.m_listBonus.columnGap = 60;
  40. }
  41. int targetY = (int)(this.viewCom.y + _ui.target.y + _ui.target.height);
  42. GuideController.TryGuideByGuideId(null, ConstGuideId.GET_BONUS_VIEW, 1, false, "恭喜你,获得了第一份奖励,点击图标可以查看物品信息,点击半透明区域继续", targetY);
  43. Timers.inst.AddUpdate(UpdateToCheckGuide);
  44. }
  45. protected override void OnHide()
  46. {
  47. base.OnHide();
  48. GuideController.HideGuide();
  49. GuideController.TryCompleteGuide(ConstGuideId.GET_BONUS_VIEW);
  50. TryCompleteGuide();
  51. GetSuitItemController.TryShow(0);
  52. Timers.inst.Remove(UpdateToCheckGuide);
  53. }
  54. private void OnClickListBonusItem(EventContext context)
  55. {
  56. GComponent item = context.data as GComponent;
  57. int itemId = (int)item.data;
  58. GoodsItemTipsController.ShowItemTips(itemId);
  59. }
  60. private void UpdateBonusItem(int index, GObject item)
  61. {
  62. ItemData itemData = _bonusList[index] as ItemData;
  63. ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(itemData.id);
  64. UI_BonusItem listItem = UI_BonusItem.Proxy(item);
  65. listItem.m_goodsItem.m_txtNumber.text = "x" + itemData.num;
  66. listItem.m_txtOwned.SetVar("count", "" + ItemDataManager.GetItemNum(itemData.id)).FlushVars();
  67. listItem.m_goodsItem.m_txtName.text = itemCfg.name;
  68. listItem.m_goodsItem.m_iconItem.m_icon.url = ResPathUtil.GetIconPath(itemCfg);
  69. listItem.m_iconBonusOnce.visible = itemData.isOnceBonus;
  70. RarityIconController.UpdateRarityIcon(listItem.m_goodsItem.m_iconItem.m_rarity, itemData.id, true);
  71. listItem.target.data = itemData.id;
  72. }
  73. private void UpdateToCheckGuide(object param)
  74. {
  75. if (!ViewManager.CheckIsTopView(this.viewCom)) return;
  76. GuideController.TryGuide(null, ConstGuideId.GET_BONUS_FIRST, 1, "恭喜你,获得了第一份奖励,点击图标可以查看物品信息,点击半透明区域继续", false, 0, true, false, (int)(this.viewCom.y + _ui.target.y + _ui.target.height));
  77. }
  78. private void TryCompleteGuide()
  79. {
  80. GuideCfg cfg = GuideCfgArray.Instance.GetCfg(ConstGuideId.GET_BONUS_FIRST);
  81. GuideController.TryCompleteGuideIndex(cfg.id, 1);
  82. GuideController.TryCompleteGuide(ConstGuideId.GET_BONUS_FIRST, 1);
  83. }
  84. }
  85. }