CardStarRewardView.cs 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  1. using FairyGUI;
  2. using System.Collections;
  3. using UI.Card;
  4. using UnityEngine;
  5. namespace GFGGame
  6. {
  7. public class CardStarRewardView : BaseWindow
  8. {
  9. private UI_CardStarRewardUI _ui;
  10. private CardData _viewData;
  11. public override void Dispose()
  12. {
  13. if (_ui != null)
  14. {
  15. _ui.Dispose();
  16. _ui = null;
  17. }
  18. base.Dispose();
  19. }
  20. protected override void OnInit()
  21. {
  22. base.OnInit();
  23. packageName = UI_CardStarRewardUI.PACKAGE_NAME;
  24. _ui = UI_CardStarRewardUI.Create();
  25. this.viewCom = _ui.target;
  26. this.viewCom.Center();
  27. this.modal = true;
  28. viewAnimationType = EnumViewAnimationType.ZOOM_CENTER;
  29. _ui.m_listReward.itemRenderer = RenderListStarRewardItem;
  30. }
  31. protected override void AddEventListener()
  32. {
  33. base.AddEventListener();
  34. EventAgent.AddEventListener(ConstMessage.CARD_STAR_REWARD, UpdateView);
  35. }
  36. protected override void OnShown()
  37. {
  38. base.OnShown();
  39. _viewData = this.viewData as CardData;
  40. UpdateView();
  41. }
  42. protected override void OnHide()
  43. {
  44. base.OnHide();
  45. }
  46. protected override void RemoveEventListener()
  47. {
  48. base.RemoveEventListener();
  49. EventAgent.RemoveEventListener(ConstMessage.CARD_STAR_REWARD, UpdateView);
  50. }
  51. private void UpdateView()
  52. {
  53. _ui.m_listReward.numItems = CardStarCfgArray.Instance.GetCfgsBycardId(_viewData.itemCfg.id).Count;
  54. }
  55. private void RenderListStarRewardItem(int index, GObject obj)
  56. {
  57. UI_ListCardStarRewardItem item = UI_ListCardStarRewardItem.Proxy(obj);
  58. CardStarCfg cardStarCfg = CardStarCfgArray.Instance.GetCfgsBycardId(_viewData.itemCfg.id)[index];
  59. if (index == 0)
  60. {
  61. item.m_txtTitle.text = "激活词牌";
  62. }
  63. else
  64. {
  65. item.m_txtTitle.text = string.Format("词牌星级达到{0}星", NumberUtil.GetChiniseNumberText(index + 1));
  66. }
  67. // RedDotController.Instance.SetComRedDot(item.m_btnGet, true);
  68. int star = index + 1;
  69. item.m_c1.selectedIndex = _viewData.starRewardsState.ContainsKey(star) ? _viewData.starRewardsState[star] : 0;
  70. if (item.m_btnGet.data == null)
  71. {
  72. item.m_btnGet.onClick.Add(OnClickBtnGet);
  73. }
  74. item.m_btnGet.data = index + 1;
  75. ItemData reward = ItemUtil.createItemData(cardStarCfg.rewardsArr[0]);
  76. if (item.m_comItem.data == null)
  77. {
  78. item.m_comItem.data = new ItemView(item.m_comItem);
  79. }
  80. (item.m_comItem.data as ItemView).SetData(reward);
  81. UI_ListCardStarRewardItem.ProxyEnd();
  82. }
  83. private void OnClickBtnGet(EventContext context)
  84. {
  85. GObject obj = context.sender as GObject;
  86. int index = (int)obj.data;
  87. CardSProxy.GetCardStarBonus(_viewData.id, index).Coroutine();
  88. }
  89. }
  90. }