源战役客户端
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

85 lines
2.2 KiB

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