|
|
- --[[@------------------------------------------------------------------
- @description:首充附加item
- @author:huangcong
- ----------------------------------------------------------------------]]
- RechargeAddItem = RechargeAddItem or BaseClass(BaseItem)
-
- RechargeAddItem.Width = 891
- RechargeAddItem.Height = 105
- local RechargeAddItem = RechargeAddItem
- function RechargeAddItem:__init()
- self.base_file = "rechargeActivity"
- self.layout_file = "RechargeAddItem"
- self.model = RechargeActivityModel:getInstance()
- self.need_red = false
- self.item_list = {}
-
- self:Load()
- end
-
- function RechargeAddItem:Load_callback()
- local nodes = {
- "redDot:obj", "descText:tmp", "awardScroll/Viewport/awardCon", "nameText:tmp",
- "getBtnText:tmp", "awardScroll:scroll", "getBtn:obj:img", "descTitleText:tmp", "getImg:obj",
- }
- self:GetChildren(nodes)
- self.descTitleText_tmp.text = "累计返利"
- self:InitEvent()
- if self.need_refreshData then
- self:SetData(self.data,self.index)
- end
- end
-
- function RechargeAddItem:__delete()
- for k,v in pairs(self.item_list) do
- UIObjPool:getInstance():PushItem(UIObjPool.UIType.AwardItem, v)
- end
- self.item_list = {}
- end
-
- function RechargeAddItem:InitEvent()
- local function clickHandler(target)
- if target == self.getBtn_obj then
- if self.data then
- if self.data.state == 1 then
- self.model:Fire(RechargeActivityModel.REQUEST_CCMD_EVENT, 15906, self.data.index, self.data.product_id)
- elseif self.data.state == 2 then
- Message.show("奖励已领取!","fault")
- elseif self.data.state == 3 then
- Message.show("明日可以来领取礼包哦!","fault")
- else
- OpenFun.Open(450,1)
- end
- end
- end
- end
- AddClickEvent(self.getBtn_obj, clickHandler, 1)
- end
-
- function RechargeAddItem:SetData(data,index)
- self.data = data or self.data
- self.index = index or self.index
- if self.is_loaded then
- self.need_refreshData = false
- else
- self.need_refreshData = true
- return
- end
- if not self.data then return end
- local btn_str = "激活立领"
- local size = 18
- local material = ShaderTools.TMPSharedMaterialType.FZZZDefault
- if self.data.state == 2 then--已领取
- btn_str = ""
- elseif self.data.state == 1 then--可领取
- btn_str = "立即领取"
- size = 22
- material = ShaderTools.TMPSharedMaterialType.FZZZOutlineDarkOrangeBtn
- elseif self.data.state == 0 then--待领取
- btn_str = "待领取"
- elseif self.data.state == 3 then--明日可领
- btn_str = "明日可领"
- else
- size = 22
- material = ShaderTools.TMPSharedMaterialType.FZZZOutlineDarkOrangeBtn
- end
- self.getBtnText_tmp.fontSize = size
- SetTMPSharedMaterial(self.getBtnText_tmp, material)
- -- SetImageGray(self.getBtn_img,self.data.state == 2)
- self.getBtn_obj:SetActive(self.data.state == 1 or self.data.state == 5)
- self.getImg_obj:SetActive(self.data.state == 2)
- self.getBtnText_tmp.text = btn_str--次日可领--待领取--已领取
- self.nameText_tmp.text = string.format("第%s天",self.data.index)
- self.descText_tmp.text = self.data.title
- self.redDot_obj:SetActive(self.data.state == 1)
- self:UpdateAwardItemList()
- end
-
- --奖励item列表
- function RechargeAddItem:UpdateAwardItemList()--更新一个item奖励列表
- for k,v in pairs(self.item_list) do
- v:SetVisible(false)
- end
- local item_list = self.data.reward
- if not item_list or TableSize(item_list) == 0 then return end
- local offer_x = 9
- local offer_y = 0
- local x = 0
- local y = 0
- for i, v in ipairs(item_list) do
- local item = self.item_list[i]
- if item == nil then
- item = UIObjPool:getInstance():PopItem(UIObjPool.UIType.AwardItem,self.awardCon)
- item:SetItemSize(62,62)
- item:SetIsAct(true)
- self.item_list[i] = item
- end
- y = -2
- x = (62+offer_x) * (i-1) + 3
- item:SetPosition(x,y)
- local goods_Id, lock = GoodsModel:getInstance():GetMappingTypeId(v[1], v[2])
- local goodVo = GoodsModel:getInstance():GetGoodsBasicByTypeId(goods_Id)
- if goodVo then
- item:SetData(goods_Id, v[3] , goodVo.color, 0, lock,true,nil)
- else
- -- error("没有找到物品信息 "..v.typeId)
- end
- item:SetVisible(true)
- end
- local len = #item_list
- local all_width = len * (62 + offer_x) + 12
- SetSizeDeltaX(self.awardCon, all_width)
- self.awardScroll_scroll.enabled = len >= 6
- end
|