ArenaDanRewardView.cs 5.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153
  1. using System.Collections.Generic;
  2. using System.Linq;
  3. using cfg.GfgCfg;
  4. using ET;
  5. using FairyGUI;
  6. using UI.Arena;
  7. using UnityEngine;
  8. namespace GFGGame
  9. {
  10. public class ArenaDanRewardView : BaseWindow
  11. {
  12. private UI_ArenaDanRewardUI _ui;
  13. public override void Dispose()
  14. {
  15. if (_ui != null)
  16. {
  17. _ui.Dispose();
  18. _ui = null;
  19. }
  20. base.Dispose();
  21. }
  22. protected override void OnInit()
  23. {
  24. base.OnInit();
  25. packageName = UI_ArenaUI.PACKAGE_NAME;
  26. _ui = UI_ArenaDanRewardUI.Create();
  27. this.viewCom = _ui.target;
  28. this.viewCom.Center();
  29. this.modal = true;
  30. viewAnimationType = EnumViewAnimationType.ZOOM_CENTER;
  31. _ui.m_listWeekDanReward.itemRenderer = RenderListWeekDanRewardItem;
  32. _ui.m_listUpDanReward.itemRenderer = RenderListUpDanReward;
  33. _ui.m_comMyDanReward.m_listReward.itemRenderer = RenderListRewardItem;
  34. }
  35. protected override void OnShown()
  36. {
  37. base.OnShown();
  38. _ui.m_c1.selectedIndex = 0;
  39. _ui.m_listWeekDanReward.numItems = CommonDataManager.Tables.TblArenaRewardCfg.DataList.Count;
  40. _ui.m_listUpDanReward.numItems = CommonDataManager.Tables.TblArenaRankCfg.DataList.Count - 1;
  41. ArenaViewManager.Instance.UpdateDanIcon(_ui.m_comMyDanReward.m_loaDanIcon, ArenaDataManager.Instance.Grade);
  42. UpdateMyReward();
  43. }
  44. protected override void OnHide()
  45. {
  46. base.OnHide();
  47. _ui.m_listUpDanReward.ScrollToView(0);
  48. _ui.m_listWeekDanReward.ScrollToView(0);
  49. }
  50. protected override void RemoveEventListener()
  51. {
  52. base.RemoveEventListener();
  53. }
  54. private void UpdateMyReward()
  55. {
  56. UI_ComMyDanReward com = UI_ComMyDanReward.Proxy(_ui.m_comMyDanReward.target);
  57. ArenaViewManager.Instance.UpdateDanIcon(com.m_loaDanIcon, ArenaDataManager.Instance.Grade);
  58. System.Collections.Generic.List<ItemParamProto> rewards = new List<ItemParamProto>();
  59. List<ArenaRewardCfg> rewardCfgs =
  60. CommonDataManager.Tables.TblArenaRewardCfg.DataList
  61. .Where(a => a.Grade == ArenaDataManager.Instance.Grade).ToList();
  62. for (int i = 0; i < rewardCfgs.Count; i++)
  63. {
  64. ArenaRewardCfg rewardCfg = rewardCfgs[i];
  65. if (ArenaDataManager.Instance.Rank >= rewardCfg.MinRank &&
  66. ArenaDataManager.Instance.Rank <= rewardCfg.MaxRank)
  67. {
  68. rewards = rewardCfg.BonusWeekly.ToGfgGameItemParam();
  69. break;
  70. }
  71. }
  72. if (com.m_listReward.data == null)
  73. {
  74. com.m_listReward.itemRenderer = RenderListRewardItem;
  75. }
  76. com.m_listReward.data = rewards;
  77. com.m_listReward.numItems = rewards.Count;
  78. com.m_c1.selectedIndex = ArenaDataManager.Instance.LastFightTime == 0 ? 0 : 1;
  79. UI_ComMyDanReward.ProxyEnd();
  80. }
  81. private void RenderListWeekDanRewardItem(int index, GObject obj)
  82. {
  83. ArenaRewardCfg cfg =
  84. CommonDataManager.Tables.TblArenaRewardCfg.DataList[
  85. CommonDataManager.Tables.TblArenaRewardCfg.DataList.Count - 1 - index];
  86. UI_ListDanRewardItem item = UI_ListDanRewardItem.Proxy(obj);
  87. item.m_txtRank.text = cfg.ShowName;
  88. item.m_imgGot.visible = false;
  89. if (item.m_listReward.data == null)
  90. {
  91. item.m_listReward.itemRenderer = RenderListRewardItem;
  92. }
  93. item.m_listReward.data = cfg.BonusWeekly;
  94. item.m_listReward.numItems = cfg.BonusWeekly.Count;
  95. ArenaViewManager.Instance.UpdateDanIcon(item.m_loaDanIcon, cfg.Grade);
  96. UI_ListDanRewardItem.ProxyEnd();
  97. }
  98. private void RenderListUpDanReward(int index, GObject obj)
  99. {
  100. ArenaRankCfg cfg =
  101. CommonDataManager.Tables.TblArenaRankCfg.DataList[
  102. CommonDataManager.Tables.TblArenaRankCfg.DataList.Count - 1 - index];
  103. UI_ListDanRewardItem item = UI_ListDanRewardItem.Proxy(obj);
  104. ArenaViewManager.Instance.UpdateDanIcon(item.m_loaDanIcon, cfg.Id);
  105. item.m_imgGot.visible = ArenaDataManager.Instance.HighestGrade >= cfg.Id;
  106. item.m_txtRank.text = cfg.GradeName;
  107. if (item.m_listReward.data == null)
  108. {
  109. item.m_listReward.itemRenderer = RenderListRewardItem;
  110. }
  111. item.m_listReward.data = cfg.BonusUpgrade.ToGfgGameItemParam();
  112. item.m_listReward.numItems = cfg.BonusUpgrade.Count;
  113. UI_ListDanRewardItem.ProxyEnd();
  114. }
  115. private void RenderListRewardItem(int index, GObject obj)
  116. {
  117. List<ItemParamProto> reward = (List<ItemParamProto>)obj.parent.data;
  118. ItemData itemData = ItemUtil.createItemData(reward[index]);
  119. if (obj.data == null)
  120. {
  121. obj.data = new ItemView(obj as GComponent);
  122. }
  123. (obj.data as ItemView).SetData(itemData);
  124. //(obj.data as ItemView).SetComItemScale = 0.7f;
  125. //(obj.data as ItemView).SetTxtCountPos(185, 155);
  126. }
  127. }
  128. }