diff --git a/lua/app/ui/task/task_main_ui.lua b/lua/app/ui/task/task_main_ui.lua index 3d2acfe2..b93abac9 100644 --- a/lua/app/ui/task/task_main_ui.lua +++ b/lua/app/ui/task/task_main_ui.lua @@ -176,6 +176,7 @@ function TaskMainUI:initDailyTaskAdCell() end end) self.dailyTaskAdCellBoxInfo = self.uiMap["task_main_ui.bg.daily.task_ad_cell.box.info"] + self.adBoxSpineObj = self.uiMap["task_main_ui.bg.daily.task_ad_cell.box.ui_spine_obj"] end function TaskMainUI:initDailyTaskFinalCell() @@ -197,6 +198,7 @@ function TaskMainUI:initDailyTaskFinalCell() end end) self.dailyTaskFinalCellBoxInfo = self.uiMap["task_main_ui.bg.daily.task_final_cell.box.info"] + self.finalBoxSpineObj = self.uiMap["task_main_ui.bg.daily.task_final_cell.box.ui_spine_obj"] end function TaskMainUI:initDailyTasks() @@ -335,9 +337,21 @@ function TaskMainUI:refreshDailyTaskAdCell() if DataManager.DailyTaskData:getDailyTaskCanClaimTask(taskId) then self.dailyTaskAdCellBoxInfo:setVisible(false) self.dailyTaskAdCellBox:addRedPoint(40, 28, 0.7) + self.adBoxSpineObj:playAnim("ready", true, false) + self.curAdCanGet = true else self.dailyTaskAdCellBoxInfo:setVisible(true) self.dailyTaskAdCellBox:removeRedPoint() + + if self.curAdCanGet then + self.adBoxSpineObj:playAnimComplete("open", false, true, function() + self.adBoxSpineObj:playAnim("idle01", true, false) + end) + else + self.adBoxSpineObj:playAnim("idle01", true, false) + end + + self.curAdCanGet = false end self.dailyTaskAdCellProgressTx:setText(count .. "/" .. needCount) self.dailyTaskAdCellProgress:getComponent(GConst.TYPEOF_UNITY_CLASS.BF_SLIDER).value = count/needCount @@ -354,9 +368,23 @@ function TaskMainUI:refreshDailyTaskFinalCell() if DataManager.DailyTaskData:getDailyTaskCanClaimTask(taskId) then self.dailyTaskFinalCellBoxInfo:setVisible(false) self.dailyTaskFinalCellBox:addRedPoint(40, 28, 0.7) + self.finalBoxSpineObj:playAnim("ready", true, false) + self.curFinalCanGet = true else self.dailyTaskFinalCellBoxInfo:setVisible(true) self.dailyTaskFinalCellBox:removeRedPoint() + if DataManager.DailyTaskData:getDailyTaskCalaimed(taskId) then + if self.curFinalCanGet then + self.finalBoxSpineObj:playAnimComplete("open", false, true, function() + self.finalBoxSpineObj:playAnim("idle02", true, false) + end) + else + self.finalBoxSpineObj:playAnim("idle02", true, false) + end + else + self.finalBoxSpineObj:playAnim("idle01", true, false) + end + self.curFinalCanGet = false end self.dailyTaskFinalCellProgressTx:setText(count .. "/" .. needCount) self.dailyTaskFinalCellProgress:getComponent(GConst.TYPEOF_UNITY_CLASS.BF_SLIDER).value = count/needCount diff --git a/lua/app/userdata/task/daily_task_data.lua b/lua/app/userdata/task/daily_task_data.lua index 5b731aaf..d00e1ba7 100644 --- a/lua/app/userdata/task/daily_task_data.lua +++ b/lua/app/userdata/task/daily_task_data.lua @@ -300,6 +300,14 @@ function DailyTaskData:getTaskListByType(taskType) return self.taskTypeMap[taskType] or GConst.EMPTY_TABLE end +function DailyTaskData:getDailyTaskCalaimed(id) + local task = self.dailyTasks[id] + if not task then + return false + end + return task.claimed +end + function DailyTaskData:getIfCanClaimTask(task) if task.claimed then return false