|
|
- TreasureHouseTaskItem = TreasureHouseTaskItem or BaseClass(BaseItem)
- local TreasureHouseTaskItem = TreasureHouseTaskItem
-
- function TreasureHouseTaskItem:__init()
- self.base_file = "treasureHouse"
- self.layout_file = "TreasureHouseTaskItem"
- self.model = TreasureHouseModel:GetInstance()
-
- self:Load()
- end
-
- function TreasureHouseTaskItem:Load_callback()
- self.nodes = {
- "btn:obj:imgex", "goods_image:img", "desc_text:tmp", "cost_image:img:obj", "num_text:tmp", "bg", "cost_text:tmp",
- "btn/btn_red:obj", "btn/btn_text:tmp",
- }
- self:GetChildren(self.nodes)
- self:AddEvents()
- if self.need_refreshData then
- self:UpdateView()
- end
- end
-
- function TreasureHouseTaskItem:AddEvents( )
- local function on_click( )
- if self.server_data then--有服务端的话 就要看看状态
- if self.server_data.state == 0 then--未完成
- if not self.is_buy then
- local link = stringtotable(self.data.link) or {}
- if TableSize(link) > 0 then
- OpenFun.Open(link[1],link[2])
- end
- else--购买的走购买协议
- if self.buy_type == 1 then--彩钻购买的
- if GoodsModel:getInstance():IsJinEnough(self.buy_cost) then
- self.model:Fire(TreasureHouseConst.REQ_TREASURE_HOUSE_SCMD, 10405, self.data.id)
- else
- local qc_data = {
- price = self.buy_cost,
- }
- GlobalEventSystem:Fire(EventName.OPEN_RECHARGE_TIP_VIEW, true, qc_data)
- end
- else
- self.model:Fire(TreasureHouseConst.REQ_TREASURE_HOUSE_SCMD, 10405, self.data.id)
- end
- end
- elseif self.server_data.state == 1 then--已完成
- if not self.is_buy then
- self.model:Fire(TreasureHouseConst.REQ_TREASURE_HOUSE_SCMD, 10404, self.data.id)
- else
- self.model:Fire(TreasureHouseConst.REQ_TREASURE_HOUSE_SCMD, 10405, self.data.id)
- end
- elseif self.server_data.state == 2 then--已领取
- Message.show("今天已经完成这个任务了哦", "fault")
- end
- else
- if not self.is_buy then
- local link = stringtotable(self.data.link) or {}
- if TableSize(link) > 0 then
- OpenFun.Open(link[1],link[2])
- end
- else--购买的走购买协议
- self.model:Fire(TreasureHouseConst.REQ_TREASURE_HOUSE_SCMD, 10405, self.data.id)
- end
- end
- end
- AddClickEvent(self.btn_obj, on_click)
- end
-
- function TreasureHouseTaskItem:UpdateView( )
- local desc = Trim(self.data.desc)
- local details = stringtotable(self.data.details)
- local cur_num = 0
- local num = GoodsModel:getInstance():GetTypeGoodsNum(TreasureHouseConst.TREASURE_HOUSE_TICKET_ID)
- local goods_icon = GoodsModel:getInstance():GetGoodsBasicByTypeId( TreasureHouseConst.TREASURE_HOUSE_TICKET_ID ).goods_icon
- lua_resM:setOutsideImageSprite(self,self.goods_image_img,GameResPath.GetGoodsIcon(goods_icon),false)
- local color_str = ColorUtil.RED_DARK
- self.num_text_tmp.text = 1
- if details[1] == "buy" then--如果是购买类型的 就要显示购买
- self.is_buy = true
- self.buy_cost = details[2][1][3]
- self.buy_type = details[2][1][1]
- cur_num = self.data.daily_max
- color_str = ColorUtil.GREEN_DARK
- self.btn_text_tmp.text = "购买"
- self.cost_image_obj:SetActive(true)
- lua_resM:setOutsideImageSprite(self,self.cost_image_img,GameResPath.GetGoodsIcon(details[2][1][2]),false)
- self.cost_text_tmp.text = self.buy_cost
- SetAnchoredPositionY(self.btn, 14)
- else
- self.btn_text_tmp.text = "去完成"
- self.is_buy = false
- self.cost_image_obj:SetActive(false)
- self.cost_text_tmp.text = ""
- SetAnchoredPositionY(self.btn, 0)
- end
- local str = string.format("%s(%s/%s)", desc, HtmlColorTxt(cur_num, color_str), self.data.daily_max)
- self.btn_red_obj:SetActive(false)
- self.btn_imgex.gray = false
- if self.server_data then
- local num = self.server_data.times
- if self.is_buy then
- if num == self.data.daily_max then
- color_str = ColorUtil.RED_DARK
- else
- color_str = ColorUtil.GREEN_DARK
- end
- else
- if num == self.data.daily_max then
- color_str = ColorUtil.GREEN_DARK
- end
- end
- str = string.format("%s(%s/%s)", desc, HtmlColorTxt(num, color_str), self.data.daily_max)
- self.btn_red_obj:SetActive(self.server_data.state == 1)
- self.btn_imgex.gray = self.server_data.state == 2
- if self.server_data.state == 2 then
- SetTMPSharedMaterial(self.btn_text_tmp,ShaderTools.TMPSharedMaterialType.FZZZOutlineDarkGrayBtn)
- self.btn_text_tmp.text = "已完成"
- elseif self.server_data.state == 1 then
- self.btn_text_tmp.text = "完成"
- SetTMPSharedMaterial(self.btn_text_tmp,ShaderTools.TMPSharedMaterialType.FZZZOutlineDarkOrangeBtn)
- end
- end
- self.desc_text_tmp.text = str
- end
-
- function TreasureHouseTaskItem:SetData(index, data )
- self.index = index
- self.data = data
- if self.is_loaded then
- self.need_refreshData = false
- self:UpdateView()
- else
- self.need_refreshData = true
- end
- end
-
- function TreasureHouseTaskItem:SetServerData( data )
- self.server_data = data
- if self.is_loaded then
- self.need_refreshData = false
- self:UpdateView()
- else
- self.need_refreshData = true
- end
- end
-
- function TreasureHouseTaskItem:__delete( )
-
- end
|