c1_lua/lua/app/ui/task/cell/daily_task_cell.lua
2023-05-11 10:09:29 +08:00

94 lines
3.2 KiB
Lua

local DailyTaskCell = class("DailyTaskCell", BaseCell)
function DailyTaskCell:init()
local uiMap = self.baseObject:genAllChildren()
self.icon = uiMap["task_cell.icon"]
self.nameTx = uiMap["task_cell.name_tx"]
self.progressBg = uiMap["task_cell.progress_bg"]
self.progress = uiMap["task_cell.progress_bg.progress"]
self.progressTx = uiMap["task_cell.progress_bg.progress_tx"]
self.getBtn = uiMap["task_cell.get_btn"]
self.getBtn:addClickListener(function()
end)
self.getBtnTx = uiMap["task_cell.get_btn.text"]
self.getBtnTx:setText(I18N:getGlobalText(I18N.GlobalConst.BTN_CLAIM))
self.refreshBtn = uiMap["task_cell.refresh_btn"]
self.refreshBtn:addClickListener(function()
end)
self.refreshBtnTx = uiMap["task_cell.refresh_btn.text"]
self.refreshBtnTx:setText("临时文本:刷新")
self.rewardCellComp = uiMap["task_cell.reward_cell"]:addLuaComponent(GConst.TYPEOF_LUA_CLASS.REWARD_CELL)
self.lockNode = uiMap["task_cell.lock_node"]
self.lockBg = uiMap["task_cell.lock_bg"]
self.lockBtn = uiMap["task_cell.lock_node.lock_btn"]
self.lockBtnTx = uiMap["task_cell.lock_node.lock_btn.text"]
self.lockTx = uiMap["task_cell.lock_node.lock_tx"]
self.lockBtn:addClickListener(function()
end)
self.lockBtnTx:setText("临时文本:解锁")
self.lockTx:setText("临时文本:通行证专属任务")
self.completeNode = uiMap["task_cell.complete"]
self.completeTx = uiMap["task_cell.complete.text"]
self.completeTx:setText("临时文本:已完成")
end
function DailyTaskCell:refresh(task)
local icon = DataManager.TaskData:getDailyTaskIcon(task.id)
self.icon:setSprite(GConst.ATLAS_PATH.ICON_TASK, icon)
local taskDesc = DataManager.TaskData:getDailyTaskDesc(task.id)
self.nameTx:setText(taskDesc)
if task.lock then
self.lockNode:setVisible(true)
self.lockBg:setVisible(true)
self.progressBg:setVisible(false)
self.refreshBtn:setVisible(false)
self.getBtn:setVisible(false)
self.completeNode:setVisible(false)
else
if task.lock == nil then
self.lockBg:setVisible(false)
else
self.lockBg:setVisible(true)
end
self.lockNode:setVisible(false)
self.progressBg:setVisible(true)
local count = task.progress
local needCount = task.needProgress
if task.claimed then -- 已经领过了
self.completeNode:setVisible(true)
self.getBtn:setVisible(false)
self.refreshBtn:setVisible(false)
if count >= needCount then
count = needCount
end
else
self.completeNode:setVisible(false)
if count >= needCount then
count = needCount
self.getBtn:setVisible(true)
self.refreshBtn:setVisible(false)
else
self.getBtn:setVisible(false)
local canRefresh = DataManager.TaskData:getDailyTaskCanRefresh(task.id)
if canRefresh then
if task.refresh then -- 刷过了
self.refreshBtn:setVisible(false)
else
self.refreshBtn:setVisible(true)
end
else
self.refreshBtn:setVisible(false)
end
end
end
self.progressTx:setText(count .. "/" .. needCount)
self.progress:getComponent(GConst.TYPEOF_UNITY_CLASS.BF_SLIDER).value = count/needCount
end
local reward = DataManager.TaskData:getDailyTaskReward(task.id)
if reward and reward[1] then
self.rewardCellComp:refreshByConfig(reward[1])
end
end
return DailyTaskCell