UITaskCtr.lua 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. local UITaskCtr = class("UITaskCtr", require("UICtrBase"))
  2. function UITaskCtr:Init(view)
  3. self.view = view
  4. end
  5. function UITaskCtr:SetData(data)
  6. self.asyncIdx = 0
  7. if data == nil then return end
  8. self.data = data
  9. self._taskType = self.data.openTaskTag
  10. end
  11. function UITaskCtr:GetAsyncIdx()
  12. self.asyncIdx = self.asyncIdx + 1
  13. return self.asyncIdx
  14. end
  15. function UITaskCtr:GetData()
  16. return self.data
  17. end
  18. function UITaskCtr:OnDispose()
  19. self.data = nil
  20. self.view = nil
  21. end
  22. function UITaskCtr:GetCurOpenTaskType()
  23. return self._taskType;
  24. end
  25. function UITaskCtr:GetTaskData()
  26. return ManagerContainer.DataMgr.TaskDataNew:GetTasksDataByType(self._taskType);
  27. end
  28. function UITaskCtr:JudgeActTaskState(_message, _index)
  29. local _data = _message[_index];
  30. if _data._data.Active <= _message._score and not _data._state then
  31. return true;
  32. end
  33. return false;
  34. end
  35. --根据传过来的任务数据,整理成一个能够给滑动列表中的item对象进行填充的数据
  36. function UITaskCtr:CreateLogicData(_data, _type)
  37. if nil == _data then return nil; end
  38. local _logicData = {};
  39. if _type ~= Enum.TaskTag.Main then
  40. _logicData.state = _data._got;
  41. end
  42. _logicData.itemData = _data;
  43. local _canGet = _data._got;
  44. _logicData._getState = _canGet;
  45. _logicData.jumpType = _logicData.itemData._cfgData.SkipInterface or 0;
  46. return _logicData;
  47. end
  48. return UITaskCtr