| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157 |
- local ActivityDailyComulativeRechargeROBTItem = class('ActivityDailyComulativeRechargeROBTItem', require('Activities/ActivityTypeItem'))
- local ActivityTaskItem = require("Activities/ActivityTaskItem")
- function ActivityDailyComulativeRechargeROBTItem:ctor()
- self.curDay = 0
- self.curDayEndTime = 0
- self.weekDayEndTime = 0
- self.taskList = nil
- self.dayTaskList = nil
- self.redPointType = Enum.RPNotifyType.DailyRechargeROBT
- end
- function ActivityDailyComulativeRechargeROBTItem:SyncSrvData(serverData, curDayEndTime)
- if not self.taskList then
- self.taskList = {}
- end
- if not self.dayTaskList then
- self.dayTaskList = {}
- end
- local curDay = serverData.cur_day
- if self.curDay ~= curDay then
- self.curDay = curDay
- ManagerContainer.LuaEventMgr:Dispatch(UIEventNames.EID_Activity_Day_Change,self.actId)
- end
- self.curDayEndTime = tonumber(tostring(curDayEndTime / 1000))
- if not serverData.bt_rocoin_data then
- return
- end
- self.weekDayEndTime = tonumber(tostring(serverData.bt_rocoin_data.week_day_end_time / 1000))
- local taskList = serverData.bt_rocoin_data.week_task_list
- if taskList then
- for i = 1, #taskList do
- local taskData = taskList[i]
- local task = self:GetWeekTaskById(taskData.task_id)
- if not task then
- task = ActivityTaskItem:new(taskData.task_id)
- self.taskList[#self.taskList+1] = task
- end
- task:SyncServerData(taskData)
- end
- self:SortTask(self.taskList)
- end
- taskList = serverData.bt_rocoin_data.daily_task_list
- if taskList then
- for i = 1, #taskList do
- local taskData = taskList[i]
- local task = self:GetDayTaskById(taskData.task_id)
- if not task then
- task = ActivityTaskItem:new(taskData.task_id)
- self.dayTaskList[#self.dayTaskList+1] = task
- end
- task:SyncServerData(taskData)
- end
- self:SortTask(self.dayTaskList)
- end
- end
- function ActivityDailyComulativeRechargeROBTItem:SortTask(taskList)
- if taskList == nil or #taskList < 2 then
- return
- end
- table.sort(
- taskList,
- function(a, b)
- if a.showPriority < b.showPriority then
- return true
- elseif a.showPriority > b.showPriority then
- return false
- else
- return a.taskId < b.taskId
- end
- end
- )
- end
- function ActivityDailyComulativeRechargeROBTItem:GetDayTaskById(id)
- for i = 1, #self.dayTaskList do
- if self.dayTaskList[i].taskId == id then
- return self.dayTaskList[i]
- end
- end
- return nil
- end
- function ActivityDailyComulativeRechargeROBTItem:GetWeekTaskById(id)
- for i = 1, #self.taskList do
- if self.taskList[i].taskId == id then
- return self.taskList[i]
- end
- end
- return nil
- end
- function ActivityDailyComulativeRechargeROBTItem:GetTaskById(id)
- local item = self:GetDayTaskById(id)
- if item then
- return item
- end
- return self:GetWeekTaskById(id)
- end
- function ActivityDailyComulativeRechargeROBTItem:GetDayTaskList()
- return self.dayTaskList
- end
- function ActivityDailyComulativeRechargeROBTItem:GetWeekTaskList()
- return self.taskList
- end
- function ActivityDailyComulativeRechargeROBTItem:HasRedPoint()
- return self:HasWeekTaskRP() or self:HasDayTaskRP()
- end
- function ActivityDailyComulativeRechargeROBTItem:HasWeekTaskRP()
- if self.taskList == nil then
- return false
- end
- for i = 1, #self.taskList do
- local task = self.taskList[i]
- if task:HasRedPoint() then
- return true
- end
- end
- return false
- end
- function ActivityDailyComulativeRechargeROBTItem:HasDayTaskRP()
- if self.dayTaskList == nil then
- return false
- end
- for i = 1, #self.dayTaskList do
- local task = self.dayTaskList[i]
- if task:HasRedPoint() then
- return true
- end
- end
- return false
- end
- function ActivityDailyComulativeRechargeROBTItem:GetDayLeftTime()
- local leftTime = self.curDayEndTime - ManagerContainer.LuaTimerMgr:GetTimeSecond()
- if leftTime < 0 then
- leftTime = 0
- end
- return leftTime
- end
- function ActivityDailyComulativeRechargeROBTItem:GetWeekLeftTime()
- local leftTime = self.weekDayEndTime - ManagerContainer.LuaTimerMgr:GetTimeSecond()
- if leftTime < 0 then
- leftTime = 0
- end
- return leftTime
- end
- return ActivityDailyComulativeRechargeROBTItem
|