ActivityGetYuanXiaoSuccessView.cs 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  1. using System.Collections;
  2. using UnityEngine;
  3. using UI.ActivityGetYuanXiao;
  4. using System.Collections.Generic;
  5. using cfg.GfgCfg;
  6. using FairyGUI;
  7. namespace GFGGame
  8. {
  9. public class ActivityGetYuanXiaoSuccessView : BaseWindow
  10. {
  11. private UI_ActivityGetYuanXiaoSuccessUI _ui;
  12. private PickUpGameCfg _cfg;
  13. private List<ItemData> itemDatas;
  14. private Dictionary<string, EffectUI> _effectUIDic = new Dictionary<string, EffectUI>();
  15. protected override void OnInit()
  16. {
  17. base.OnInit();
  18. packageName = UI_ActivityGetYuanXiaoSuccessUI.PACKAGE_NAME;
  19. _ui = UI_ActivityGetYuanXiaoSuccessUI.Create();
  20. viewCom = _ui.target;
  21. viewCom.Center();
  22. viewAnimationType = EnumViewAnimationType.ZOOM_CENTER;
  23. modal = true;
  24. clickBlankToClose = false;
  25. _ui.m_listReward.itemRenderer = RenderListRewardItem;
  26. _ui.m_btnExit.onClick.Add(OnClickBtnExit);
  27. EffectUIPool.CreateEffectUI(_ui.m_starEffect, "ui_Activity", "YXJ_Quad_star",
  28. onComplete: (effect) =>
  29. {
  30. if (effect != null)
  31. {
  32. _effectUIDic.Add("YXJ_Quad_star", effect);
  33. }
  34. });
  35. EffectUIPool.CreateEffectUI(_ui.m_titleEffect, "ui_Activity", "YXJ_QuadText_win",
  36. onComplete: (effect) =>
  37. {
  38. if (effect != null)
  39. {
  40. _effectUIDic.Add("YXJ_QuadText_win", effect);
  41. }
  42. });
  43. }
  44. public override void Dispose()
  45. {
  46. // Clear Effect
  47. foreach (var v in _effectUIDic)
  48. {
  49. EffectUIPool.Recycle(v.Value);
  50. }
  51. _effectUIDic.Clear();
  52. if (_ui != null)
  53. {
  54. _ui.Dispose();
  55. _ui = null;
  56. }
  57. base.Dispose();
  58. }
  59. protected override void OnShown()
  60. {
  61. base.OnShown();
  62. _cfg = (PickUpGameCfg)viewData;
  63. _ui.m_btnRetry.visible = (_cfg.IsAgain != 0);
  64. itemDatas = ItemUtil.CreateItemDataList(_cfg.BonusWin.ToGfgGameItemParam());
  65. _ui.m_listReward.numItems = itemDatas.Count;
  66. }
  67. private void RenderListRewardItem(int index, GObject obj)
  68. {
  69. if (index >= itemDatas.Count)
  70. {
  71. return;
  72. }
  73. ItemData reward = itemDatas[index];
  74. if (obj.data == null)
  75. {
  76. obj.data = new ItemView(obj as GComponent);
  77. }
  78. (obj.data as ItemView).SetData(reward);
  79. }
  80. private void OnClickBtnExit()
  81. {
  82. Hide();
  83. ViewManager.Hide<ActivityGetYuanXiaoView>();
  84. }
  85. }
  86. }