DailyTaskView.cs 3.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. using System.Collections.Generic;
  2. using FairyGUI;
  3. using UI.DailyTask;
  4. using UnityEngine;
  5. namespace GFGGame
  6. {
  7. public class DailyTaskView : BaseWindow
  8. {
  9. private UI_DailyTaskUI _ui;
  10. private List<DailyTaskCfg> _cfgs;
  11. private List<DailyActiveRewardCfg> _rewardCfgs;
  12. public override void Dispose()
  13. {
  14. base.Dispose();
  15. }
  16. protected override void OnInit()
  17. {
  18. base.OnInit();
  19. packageName = UI_DailyTaskUI.PACKAGE_NAME;
  20. _ui = UI_DailyTaskUI.Create();
  21. this.viewCom = _ui.target;
  22. this.viewCom.Center();
  23. this.modal = true;
  24. viewAnimationType = EnumViewAnimationType.ZOOM_CENTER;
  25. _ui.m_list.itemRenderer = ListItemRender;
  26. _ui.m_listReward.itemRenderer = ListRewardItemRender;
  27. }
  28. protected override void OnShown()
  29. {
  30. base.OnShown();
  31. _cfgs = DailyTaskDataManager.Instance.GetDailyTaskCfgs();
  32. _rewardCfgs = new List<DailyActiveRewardCfg>(DailyActiveRewardCfgArray.Instance.dataArray);
  33. _ui.m_list.numItems = _cfgs.Count;
  34. _ui.m_listReward.numItems = _rewardCfgs.Count;
  35. }
  36. protected override void OnHide()
  37. {
  38. base.OnHide();
  39. }
  40. private void ListItemRender(int index, GObject obj)
  41. {
  42. UI_ListItem item = UI_ListItem.Proxy(obj);
  43. item.m_c1.selectedIndex = DailyTaskDataManager.Instance.GetTaskStateById(_cfgs[index].id);
  44. item.m_c2.selectedIndex = _cfgs[index].jumpId == "" ? 0 : 1;
  45. if (item.m_btnGet.data == null)
  46. {
  47. item.m_btnGet.onClick.Add(OnBtnGetClick);
  48. }
  49. item.m_btnGet.data = _cfgs[index].id;
  50. if (item.m_btnGo.data == null && _cfgs[index].jumpId != "")
  51. {
  52. item.m_btnGo.onClick.Add(OnBtnGoClick);
  53. }
  54. item.m_btnGo.data = _cfgs[index].jumpId;
  55. UI_ListItem.ClearProxy();
  56. }
  57. private void OnBtnGetClick(EventContext context)
  58. {
  59. GObject btnGet = context.sender as GObject;
  60. }
  61. private void OnBtnGoClick(EventContext context)
  62. {
  63. this.Hide();
  64. GObject btnGo = context.sender as GObject;
  65. ViewManager.Show(string.Format("GFGGame.{0}", btnGo.data), null, new object[] { typeof(DailyTaskView).Name, this.viewData });
  66. }
  67. private void ListRewardItemRender(int index, GObject obj)
  68. {
  69. UI_ListRewardItem item = UI_ListRewardItem.Proxy(obj);
  70. if (item.target.data == null)
  71. {
  72. item.target.onClick.Add(OnRewardItemClick);
  73. }
  74. item.target.data = _rewardCfgs[index];
  75. UI_ListRewardItem.ClearProxy();
  76. }
  77. private void OnRewardItemClick(EventContext context)
  78. {
  79. GObject item = context.sender as GObject;
  80. // UI_ListRewardItem item = UI_ListRewardItem.Proxy(context.data as GObject);
  81. ViewManager.Show<DailyTaskRewardView>(item.data);
  82. }
  83. }
  84. }