GetBonusView.cs 3.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  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. }
  44. protected override void OnHide()
  45. {
  46. base.OnHide();
  47. GuideController.HideGuide();
  48. GuideController.TryCompleteGuide(ConstGuideId.GET_BONUS_VIEW);
  49. TryCompleteGuide();
  50. GetSuitItemController.TryShow(0);
  51. }
  52. private void OnClickListBonusItem(EventContext context)
  53. {
  54. GComponent item = context.data as GComponent;
  55. int itemId = (int)item.data;
  56. GoodsItemTipsController.ShowItemTips(itemId);
  57. }
  58. private void UpdateBonusItem(int index, GObject item)
  59. {
  60. ItemData itemData = _bonusList[index] as ItemData;
  61. ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(itemData.id);
  62. UI_BonusItem listItem = UI_BonusItem.Proxy(item);
  63. listItem.m_goodsItem.m_txtNumber.text = "x" + itemData.num;
  64. listItem.m_txtOwned.SetVar("count", "" + ItemDataManager.GetItemNum(itemData.id)).FlushVars();
  65. listItem.m_goodsItem.m_txtName.text = itemCfg.name;
  66. listItem.m_goodsItem.m_iconItem.m_icon.url = ResPathUtil.GetIconPath(itemCfg);
  67. listItem.m_iconBonusOnce.visible = itemData.isOnceBonus;
  68. RarityIconController.UpdateRarityIcon(listItem.m_goodsItem.m_iconItem.m_rarity, itemData.id, true);
  69. listItem.target.data = itemData.id;
  70. }
  71. protected override void UpdateToCheckGuide(object param)
  72. {
  73. if (!ViewManager.CheckIsTopView(this.viewCom)) return;
  74. GuideController.TryGuide(null, ConstGuideId.GET_BONUS_FIRST, 1, "恭喜你,获得了第一份奖励,点击图标可以查看物品信息,点击半透明区域继续", false, 0, true, false, (int)(this.viewCom.y + _ui.target.y + _ui.target.height));
  75. }
  76. private void TryCompleteGuide()
  77. {
  78. GuideCfg cfg = GuideCfgArray.Instance.GetCfg(ConstGuideId.GET_BONUS_FIRST);
  79. GuideController.TryCompleteGuideIndex(cfg.id, 1);
  80. GuideController.TryCompleteGuide(ConstGuideId.GET_BONUS_FIRST, 1);
  81. }
  82. }
  83. }