|
|
CloudShoppingItem = CloudShoppingItem or BaseClass(BaseItem)
|
|
|
|
function CloudShoppingItem:__init()
|
|
self.base_file = "cloudShopping"
|
|
self.layout_file = "CloudShoppingItem"
|
|
self.is_delay_callback = true
|
|
self:Load()
|
|
end
|
|
|
|
function CloudShoppingItem:Load_callback()
|
|
self.lightBg,
|
|
self.mult_go
|
|
= GetChildGameObjects(self.transform, {
|
|
"lightBg",
|
|
"image"
|
|
})
|
|
self.icon
|
|
= GetChildTransforms(self.transform, {
|
|
"icon"
|
|
})
|
|
self.txtMultiple,
|
|
self.txtName
|
|
= GetChildTexts(self.transform, {
|
|
"image/txtMultiple",
|
|
"txtName"
|
|
})
|
|
|
|
self.award_item = UIObjPool:getInstance():PopItem(UIObjPool.UIType.AwardItem, self.icon)
|
|
self.award_item:SetItemSize(64, 64)
|
|
|
|
if self.need_refreshData then
|
|
self:SetData(self.reward_id)
|
|
end
|
|
|
|
if self.need_show_lightBg then
|
|
self:ShowLightBg(self.show_light_bg, self.mul_num)
|
|
end
|
|
|
|
self:InitEvent()
|
|
end
|
|
|
|
function CloudShoppingItem:InitEvent()
|
|
local function onBtnClickHandler(target)
|
|
if target == self.gameObject then
|
|
|
|
end
|
|
end
|
|
AddClickEvent(self.gameObject, onBtnClickHandler)
|
|
end
|
|
|
|
function CloudShoppingItem:SetData(reward_id)
|
|
self.reward_id = tonumber(reward_id)
|
|
if not self.is_loaded then
|
|
self.need_refreshData = true
|
|
return
|
|
end
|
|
self.need_refreshData = false
|
|
|
|
local cfg = Config.Cloudbuyreward[self.reward_id]
|
|
if cfg then
|
|
local rewards = ErlangParser:GetInstance():Parse(cfg.reward_list)
|
|
if TableSize(rewards) > 0 then
|
|
local type_id = 0
|
|
local num = 1
|
|
if cfg.reward_type == 2 then --按职业区分
|
|
local career = RoleManager.Instance:GetMainRoleVo().career
|
|
for _,v in pairs(rewards) do
|
|
if career == tonumber(v[1]) then
|
|
type_id = tonumber(v[2][1][2])
|
|
num = tonumber(v[2][1][3])
|
|
break
|
|
end
|
|
end
|
|
else
|
|
type_id = tonumber(rewards[1][2])
|
|
num = tonumber(rewards[1][3])
|
|
end
|
|
-- local _type = tonumber(rewards[1][1])
|
|
-- local goods_Id, _ = GoodsModel:getInstance():GetMappingTypeId(_type, type_id)
|
|
self.award_item:SetData(type_id, num)
|
|
|
|
local goodVo = GoodsModel:getInstance():GetGoodsBasicByTypeId(type_id)
|
|
if goodVo then
|
|
self.txtName.text = "<color="..WordManager.GetGoodsColor(goodVo.color) .. ">"..Trim(goodVo.goods_name) .. "</color>"
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
function CloudShoppingItem:ShowLightBg(bool, num, reset)
|
|
self.stop_change = not reset
|
|
self.show_light_bg = bool
|
|
self.mul_num = num
|
|
if not self.is_loaded then
|
|
self.need_show_lightBg = true
|
|
return
|
|
end
|
|
self.need_show_lightBg = false
|
|
|
|
self.lightBg:SetActive(bool)
|
|
self.txtMultiple.text = num > 1 and ("X" .. num) or ""
|
|
self.mult_go:SetActive(num > 1)
|
|
end
|
|
|
|
function CloudShoppingItem:__delete()
|
|
if self.award_item then
|
|
self.award_item:ReleaseObj()
|
|
self.award_item = nil
|
|
end
|
|
end
|
|
|
|
function CloudShoppingItem:ResetItem()
|
|
if self.is_loaded then
|
|
self:ShowLightBg(false, 0, true)
|
|
end
|
|
end
|
|
|