源战役客户端
您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符
 
 
 
 
 

133 行
4.1 KiB

--[[@------------------------------------------------------------------
@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