TaskAchieveView.cs 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116
  1. using FairyGUI;
  2. using UI.Task;
  3. namespace GFGGame
  4. {
  5. public class TaskAchieveView : BaseWindow
  6. {
  7. private UI_TaskAchieveUI _ui;
  8. public override void Dispose()
  9. {
  10. if (_ui != null)
  11. {
  12. _ui.Dispose();
  13. _ui = null;
  14. }
  15. base.Dispose();
  16. }
  17. protected override void OnInit()
  18. {
  19. base.OnInit();
  20. packageName = UI_TaskAchieveUI.PACKAGE_NAME;
  21. _ui = UI_TaskAchieveUI.Create();
  22. viewCom = _ui.target;
  23. isfullScreen = true;
  24. isReturnView = true;
  25. _ui.m_loaBg.url = ResPathUtil.GetBgImgPath("chengjiu_bg");
  26. _ui.m_btnBack.onClick.Add(OnBtnBackClick);
  27. _ui.m_listAchieveItem.itemRenderer = RenderListAchieveItem;
  28. //_ui.m_listAchieveItem.onClickItem.Add(OnClickListRarityItem);
  29. }
  30. private void OnBtnBackClick()
  31. {
  32. //ViewManager.Hide<TaskAchieveView>();
  33. //ViewManager.Show<TaskView>();
  34. this.Hide();
  35. }
  36. private void OnClickListRarityItem(EventContext context)
  37. {
  38. int subIndex = (int)(context.sender as GObject).data;
  39. if (subIndex > 3)
  40. PromptController.Instance.ShowFloatTextPrompt("暂未开启");
  41. else
  42. ViewManager.Show<TaskAchieveDetailView>(subIndex);
  43. }
  44. protected override void AddEventListener()
  45. {
  46. base.AddEventListener();
  47. EventAgent.AddEventListener(ConstMessage.RED_CHANGE, UpdateRewardState);
  48. EventAgent.AddEventListener(ConstMessage.ACHIEVEMENT_TASK_PRO_CHANGED, UpdateRewardState);
  49. }
  50. protected override void RemoveEventListener()
  51. {
  52. base.RemoveEventListener();
  53. EventAgent.RemoveEventListener(ConstMessage.RED_CHANGE, UpdateRewardState);
  54. EventAgent.RemoveEventListener(ConstMessage.ACHIEVEMENT_TASK_PRO_CHANGED, UpdateRewardState);
  55. }
  56. private void UpdateRewardState()
  57. {
  58. _ui.m_listAchieveItem.numItems = 6;
  59. }
  60. protected override void OnShown()
  61. {
  62. base.OnShown();
  63. UpdateInfo();
  64. }
  65. protected async void UpdateInfo()
  66. {
  67. var result = await TaskSProxy.GetTaskTypePro();
  68. if (!result) return;
  69. }
  70. protected override void OnHide()
  71. {
  72. base.OnHide();
  73. }
  74. private void RenderListAchieveItem(int index, GObject obj)
  75. {
  76. UI_AchieveItem listItem = UI_AchieveItem.Proxy(obj);
  77. if(index >= 4)
  78. listItem.m_AchieveType.selectedIndex = 4;
  79. else
  80. listItem.m_AchieveType.selectedIndex = index;
  81. if (listItem.target.data == null)
  82. {
  83. listItem.target.onClick.Add(OnClickListRarityItem);
  84. }
  85. listItem.target.data = index;
  86. var taskTypeProList = TaskDataManager.Instance.GetAchievementTaskTypeProList();
  87. if (taskTypeProList == null)
  88. return;
  89. foreach (var info in taskTypeProList) {
  90. if (info.AchievementType == index+1) {
  91. listItem.m_achieveBar.max = info.AllTaskNum;
  92. listItem.m_achieveBar.value = info.CompleteTaskNum;
  93. break;
  94. }
  95. }
  96. RedDotController.Instance.SetComRedDot(listItem.target, TaskDataManager.Instance.CheckTaskSubRewardCanGet(TaskFuncType.Achievement, index),"",-30,120);
  97. UI_AchieveItem.ProxyEnd();
  98. }
  99. }
  100. }