|
|
- ChildMainTaskItem = ChildMainTaskItem or BaseClass(BaseItem)
- function ChildMainTaskItem:__init()
- self.base_file = "child"
- self.layout_file = "ChildMainTaskItem"
- self.is_delay_callback = true
- -- self.use_local_view = true
- self.model = ChildModel:GetInstance()
- self:Load()
- end
-
- function ChildMainTaskItem:Load_callback()
- self.nodes = {
- "bg/txt_desc:tmp","bg/image_had:obj","bg/image_go:obj:img","bg/image_get:obj:img",
- "bg/image_go/lb_image_go:tmp", "bg/image_get/lb_image_get:tmp",
- "bg:obj","bg/red_dot:obj",
- "bg/txt_num:tmp", "bg/fillImg:img", "bg/progressText:tmp",
- "bg/awardCon",
- }
- self:GetChildren(self.nodes)
- self:InitEvent()
- if self.need_refreshData then
- self:SetData(self.data)
- end
- end
-
- function ChildMainTaskItem:InitEvent()
- local function onBtnClickHandler(target, x, y)
- if self.model:IsHeartValueMax() then
- Message.show("同心值已满,请尽快领取奖励!")
- return
- end
- if target == self.image_get_obj then
- if self.data.task_state == 1 then
- -- Message.show("完成任务:",self.data.task_id)
- self.model:Fire(ChildConst.CHILD_REQ_EVENT, 16506,1,self.data.task_id,0)
- elseif self.data.task_state == 2 then
- Message.show("已领取")
- else
- end
- elseif target == self.image_go_obj then
- local list = stringtotable(self.data.client_skip)
- local winId = tonumber(list[1][1])
- local subId = tonumber(list[1][2])
- OpenFun.Open(winId, subId)
- end
- end
- AddClickEvent(self.image_get_obj, onBtnClickHandler)
- AddClickEvent(self.image_go_obj, onBtnClickHandler)
-
- end
-
- function ChildMainTaskItem:SetData(data)
- self.data = data
- if self.is_loaded then
- if not data then return end
- local color = "#18a426"
- if data.progress < data.progress_max then
- color = "#ff373c"
- end
- -- 描述
- self.txt_desc_tmp.text = string.format("%s (<color=%s>%s</color>/%s)",Trim(data.desc),color,data.progress,data.progress_max) or ""
-
- --同心值
- --self.txt_num_tmp.text = data.reward_exp or 0
- self.main_reward_item = self.main_reward_item or UIObjPool:getInstance():PopItem(UIObjPool.UIType.AwardItem, self.awardCon)
- self.main_reward_item:SetPosition(0, 0)
- self.main_reward_item:SetItemSize(62, 62)
- self.main_reward_item:SetVisible(true)
-
- local reward = stringtotable(self.model:GetConfigChildKvVal("heart_feed"))[1]
- local goods_Id, lock = GoodsModel:getInstance():GetMappingTypeId(0, reward[1])
- local goodVo = GoodsModel:getInstance():GetGoodsBasicByTypeId(goods_Id)
- if goodVo then
- self.main_reward_item:SetData(goodVo.type_id, data.reward_exp or 0, goodVo.color, 0, lock,true,nil)
- end
-
-
- -- 进度
- self.progressText_tmp.text = string.format("(<color=%s>%s</color>/%s)", ColorUtil.WHITE_DARK, data.progress,data.progress_max)
- self.fillImg_img.fillAmount = data.progress / data.progress_max
-
- -- 按钮状态
- self.image_get_obj:SetActive(false)
- self.image_had_obj:SetActive(false)
- self.image_go_obj:SetActive(false)
- self.red_dot_obj:SetActive(false)
- --0-未完成 1-已完成未领取 2-已领取
- if data.task_state == 1 then
- self.image_get_obj:SetActive(true) --未领取
- self.red_dot_obj:SetActive(not self.model:IsHeartValueMax())
- elseif data.task_state == 2 then
- self.image_had_obj:SetActive(true) --已完成
- else
- self.image_go_obj:SetActive(true) --已领取未完成
- end
-
- if self.model:IsHeartValueMax() then
- SetImageGray(self.image_get_img, true)
- SetTMPSharedMaterial(self.lb_image_get_tmp, ShaderTools.TMPSharedMaterialType.FZZZOutlineDarkGrayBtn)
- SetImageGray(self.image_go_img, true)
- SetTMPSharedMaterial(self.lb_image_go_tmp, ShaderTools.TMPSharedMaterialType.FZZZOutlineDarkGrayBtn)
- else
- SetImageGray(self.image_get_img, false)
- SetTMPSharedMaterial(self.lb_image_get_tmp, ShaderTools.TMPSharedMaterialType.FZZZOutlineDarkOrangeBtn)
- SetImageGray(self.image_go_img, false)
- SetTMPSharedMaterial(self.lb_image_go_tmp, ShaderTools.TMPSharedMaterialType.FZZZOutlineDarkBlueBtn)
- end
- else
- self.need_refreshData = true
- end
-
- end
-
- function ChildMainTaskItem:__delete( )
- if self.main_reward_item then
- UIObjPool:getInstance():PushItem(UIObjPool.UIType.AwardItem, self.main_reward_item)
- self.main_reward_item = nil
- end
- end
|