|
|
CloudShopOddsView = CloudShopOddsView or BaseClass(BaseView)
|
|
|
|
function CloudShopOddsView:__init()
|
|
self.base_file = "cloudShopping"
|
|
self.layout_file = "CloudShopOddsView"
|
|
self.layer_name = "Activity"
|
|
-- self.use_local_view = true
|
|
self.close_mode = CloseMode.CloseDestroy
|
|
self.change_scene_close = true
|
|
self.destroy_imm = true
|
|
self.use_background = true
|
|
self.is_set_zdepth = true
|
|
|
|
self.change_scene_close = true
|
|
self.model = CustomActivityModel:getInstance()
|
|
self.item_list = {}
|
|
|
|
self.load_callback = function()
|
|
self:LoadSuccess()
|
|
self:InitEvent()
|
|
end
|
|
|
|
self.open_callback = function()
|
|
self:SetData()
|
|
end
|
|
|
|
self.close_callback = function()
|
|
|
|
end
|
|
|
|
self.destroy_callback = function()
|
|
self:Remove()
|
|
end
|
|
end
|
|
function CloudShopOddsView:Remove()
|
|
for i, item in pairs(self.item_list) do
|
|
item:DeleteMe()
|
|
end
|
|
self.item_list = {}
|
|
self.model = nil
|
|
end
|
|
|
|
function CloudShopOddsView:Open(index)
|
|
BaseView.Open(self)
|
|
end
|
|
|
|
function CloudShopOddsView:LoadSuccess()
|
|
self.content
|
|
= GetChildTransforms(self.transform, {
|
|
"ScrollView/Viewport/Content"
|
|
})
|
|
end
|
|
|
|
function CloudShopOddsView:InitEvent()
|
|
|
|
end
|
|
|
|
function CloudShopOddsView:SetData()
|
|
local data = self.model:GetCloudShoppingInfo()
|
|
if data then
|
|
local cfg = Config.Cloudbuy[data.big_reward_id]
|
|
if cfg then
|
|
local total_weight = 0
|
|
local happy_awards = ErlangParser:GetInstance():Parse(cfg.happy_awards)
|
|
for _, v in pairs(happy_awards) do
|
|
total_weight = total_weight + tonumber(v[1])
|
|
end
|
|
table.sort(happy_awards, function (a, b)
|
|
return tonumber(a[2]) < tonumber(b[2])
|
|
end)
|
|
self.content.sizeDelta = Vector2(400, 62 * #happy_awards)
|
|
for i, v in ipairs(happy_awards) do
|
|
local item = self.item_list[i]
|
|
if not item then
|
|
item = CloudShopOddsItem.New(self.content)
|
|
self.item_list[i] = item
|
|
end
|
|
item:SetData(total_weight, v)
|
|
item:SetPosition(0, -62 * (i - 1))
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|