OpenBattlePassView.cs 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. using System.Collections.Generic;
  2. using FairyGUI;
  3. using UI.Task;
  4. namespace GFGGame
  5. {
  6. public class OpenBattlePassView : BaseWindow
  7. {
  8. private UI_OpenBattlePassUI _ui;
  9. public override void Dispose()
  10. {
  11. if (_ui != null)
  12. {
  13. _ui.Dispose();
  14. _ui = null;
  15. }
  16. base.Dispose();
  17. }
  18. protected override void OnInit()
  19. {
  20. base.OnInit();
  21. packageName = UI_OpenBattlePassUI.PACKAGE_NAME;
  22. _ui = UI_OpenBattlePassUI.Create();
  23. viewCom = _ui.target;
  24. viewCom.Center();
  25. _ui.m_CloseBtn.onClick.Add(Hide);
  26. // clickBlankToClose = false;
  27. _ui.m_Rewards.itemRenderer = SpecialRewardRender;
  28. _ui.m_OpenBtn.onClick.Add(OnBtnOpenClick);
  29. }
  30. private void OnBtnOpenClick(EventContext context)
  31. {
  32. //TODO:打开购买界面
  33. }
  34. protected override void OnShown()
  35. {
  36. base.OnShown();
  37. SetPrizeData();
  38. }
  39. private static void SpecialRewardRender(int index, GObject obj)
  40. {
  41. var item = UI_RewardIconYellow.Proxy(obj);
  42. var itemInfos = (List<KeyValuePair<int, long>>)obj.parent.data;
  43. // if (!(obj.parent.data is int[][] parentData))
  44. // {
  45. // UI_RewardIconYellow.ClearProxy();
  46. // return;
  47. // }
  48. var itemInfo = itemInfos[index];
  49. var itemId = itemInfo.Key;
  50. var num = itemInfo.Value;
  51. var itemCfg = ItemCfgArray.Instance.GetCfg(itemId);
  52. if (itemCfg != null)
  53. {
  54. item.m_loaIcon.url = ResPathUtil.GetCommonGameResPath(itemCfg.res);
  55. item.m_num.text = num.ToString();
  56. }
  57. UI_RewardIconYellow.ProxyEnd();
  58. }
  59. private void SetPrizeData()
  60. {
  61. //获取所有特别奖励数据
  62. var dataManager = BattlePassTaskDataManager.Instance;
  63. var allSpecialCfg = dataManager.GetAllSpecialCfg();
  64. _ui.m_Rewards.data = allSpecialCfg;
  65. _ui.m_Rewards.numItems = allSpecialCfg.Count;
  66. }
  67. }
  68. }