--彩钻礼包 GiftDiamondView = GiftDiamondView or BaseClass(BaseView) function GiftDiamondView:__init() self.base_file = "gift" self.layout_file = "GiftDiamondView" self.layer_name = "Activity" self.is_set_zdepth = true self.destroy_imm = true self.use_background = true self.close_mode = CloseMode.CloseDestroy self.model = GiftModel:getInstance() self.reward_item_list = {} self.load_callback = function () self:LoadSuccess() self:addEvents() end self.open_callback = function () self:setData() end self.close_callback = function () end self.destroy_callback = function () self:DestroySuccess() end end function GiftDiamondView:Open(goods_vo) self.goods_vo = goods_vo BaseView.Open(self) end function GiftDiamondView:DestroySuccess() for _, item in pairs(self.reward_item_list) do item:ReleaseObj() end self.reward_item_list = {} end function GiftDiamondView:LoadSuccess() self.close_btn = self:GetChild("close_btn").gameObject self.name_text = self:GetChild("name_text"):GetComponent("Text") self.tips_text = self:GetChild("tips_text"):GetComponent("Text") self.sure_btn = self:GetChild("sure_btn").gameObject self.count_1 = self:GetChild("count_1"):GetComponent("Text") self.count_2 = self:GetChild("count_2"):GetComponent("Text") self.scroll_view = self:GetChild("scroll_view/Viewport/Content") self.scroll_trans = self:GetChild("scroll_view").transform self.scroll_size = self.scroll_trans.sizeDelta self.delete_line = self:GetChild("delete_line") self.icon_1 = self:GetChild("icon_1"):GetComponent("Image") self.icon_2 = self:GetChild("icon_2"):GetComponent("Image") end function GiftDiamondView:addEvents() local function click_func(target) if target == self.close_btn then self:Close() elseif target == self.sure_btn then GoodsModel:getInstance():Fire(GoodsModel.REQUEST_CCMD_EVENT, 15050, self.goods_vo.goods_id, 1, self.goods_vo.type_id) end end AddClickEvent(self.close_btn, click_func) AddClickEvent(self.sure_btn, click_func) end function GiftDiamondView:setData() if self.goods_vo == nil then return end local kind, list = self.model:getGiftConfig(self.goods_vo.type_id) self.count_1.text = list.diamond_list.old_cost local long = self.count_1:GetComponent("Text").preferredWidth + 3 self.delete_line.transform.sizeDelta = Vector2(50+long, 2) self.count_2.text = list.diamond_list.now_cost self.tips_text.text = "消耗"..list.diamond_list.now_cost.."彩钻开启礼包即可获得" local path = list.diamond_list.cost_type == 1 and "com_ui_4" or "com_ui_5" lua_resM:setImageSprite(self, self.icon_1, "common_asset", path) lua_resM:setImageSprite(self, self.icon_2, "common_asset", path) self:setRewardShow() end function GiftDiamondView:setRewardShow() local list = self.model:getRewardConfig(self.goods_vo.type_id) for i,v in ipairs(list.fixed_list) do local item = self.reward_item_list[i] if not item then item = UIObjPool:getInstance():PopItem(UIObjPool.UIType.AwardItem, self.scroll_view, nil, self.layer_name) item:SetItemSize(82, 82) -- item:SetPosition(85*(i-1)+5, -10) self.reward_item_list[i] = item end item:SetData(v.goods_id) item:SetNumText(v.goods_count) end local now = 100*#list.fixed_list local sx = now > self.scroll_size.x and now or self.scroll_size.x self.scroll_view.sizeDelta = Vector2(sx, 100) end