64 lines
2.8 KiB
Lua
64 lines
2.8 KiB
Lua
local TaskCell = class("TaskCell", BaseCell)
|
|
|
|
function TaskCell:init()
|
|
local uiMap = self:getUIMap()
|
|
self.bg = uiMap['task_cell.bg']
|
|
self.txDesc = uiMap['task_cell.tx_desc']
|
|
self.btn = uiMap['task_cell.btn']
|
|
self.txBtn = uiMap['task_cell.btn.tx_btn']
|
|
self.imgPoint = uiMap['task_cell.point']
|
|
self.rewardCell = uiMap['task_cell.reward_cell']:addLuaComponent(GConst.TYPEOF_LUA_CLASS.REWARD_CELL)
|
|
self.imgProg = uiMap['task_cell.prog.img_prog']:getComponent(GConst.TYPEOF_UNITY_CLASS.BF_SLIDER)
|
|
self.txProg = uiMap['task_cell.prog.tx_prog']
|
|
self.mask = uiMap['task_cell.mask']
|
|
|
|
self.btn:addClickListener(function()
|
|
if DataManager.ActTaskData:canClaimTask(self.data:getActId(), self.taskId) then
|
|
self.parentUI:reqTask(self.taskId)
|
|
elseif self.taskType == GConst.TaskConst.TASK_TYPE.ACT_NEWBIE_ST_TURNTABLE_NUM then
|
|
EventManager:dispatchEvent(EventManager.CUSTOM_EVENT.CHANGE_ACTIVITY_PAGE, 1)
|
|
else
|
|
ModuleManager.TaskManager:goToTask(self.taskType)
|
|
end
|
|
end)
|
|
end
|
|
|
|
function TaskCell:refresh(parentUI, dataKey, taskId)
|
|
self.parentUI = parentUI or self.parentUI
|
|
self.data = dataKey and DataManager[dataKey] or self.data
|
|
self.taskId = taskId
|
|
self.taskType = DataManager.ActTaskData:getTaskType(self.taskId)
|
|
local actId = self.data:getActId()
|
|
|
|
local taskTarget = DataManager.ActTaskData:getTaskTarget(self.taskId)
|
|
local taskProg = DataManager.ActTaskData:getTaskProg(actId, self.taskId)
|
|
local taskReward = DataManager.ActTaskData:getTaskReward(self.taskId)
|
|
taskProg = taskProg > taskTarget and taskTarget or taskProg
|
|
|
|
self.rewardCell:refreshByConfig(taskReward)
|
|
|
|
self.imgProg.value = taskProg / taskTarget
|
|
self.txProg:setText(taskProg.."/"..taskTarget)
|
|
|
|
if DataManager.ActTaskData:isTaskReceived(actId, self.taskId) then
|
|
-- 已完成
|
|
self.mask:setActive(true)
|
|
self.txBtn:setText(I18N:getGlobalText(I18N.GlobalConst.ALREADY_GOT_DESC))
|
|
self.btn:setSprite(GConst.ATLAS_PATH.COMMON, "common_btn_gray_4")
|
|
self.txDesc:setText("<color=#574A40>" .. GFunc.getTaskDesc(self.taskType, taskTarget) .. "</color>")
|
|
else
|
|
-- 未完成 or 可领取
|
|
self.mask:setActive(false)
|
|
self.txDesc:setText("<color=#5C3A2D>" .. GFunc.getTaskDesc(self.taskType, taskTarget) .. "</color>")
|
|
|
|
if DataManager.ActTaskData:isTaskFinished(actId, self.taskId) then
|
|
self.txBtn:setText(I18N:getGlobalText(I18N.GlobalConst.BTN_TEXT_CLAIM))
|
|
self.btn:setSprite(GConst.ATLAS_PATH.COMMON, "common_btn_yellow_4")
|
|
else
|
|
self.txBtn:setText(I18N:getGlobalText(I18N.GlobalConst.BTN_TEXT_GO))
|
|
self.btn:setSprite(GConst.ATLAS_PATH.COMMON, "common_btn_blue_4")
|
|
end
|
|
end
|
|
end
|
|
|
|
return TaskCell |