---@class KLUILifetimeGiftPackageItem:UIKmlLuaPanelBase ---@field view KLUILifetimeGiftPackageItemView local KLUILifetimeGiftPackageItem = class(UIKmlLuaPanelBase) local this =KLUILifetimeGiftPackageItem ---创建时调用一次 function this:Init() --道具奖励 GUI:DataListInitData(self.view.itemContent,function() return self:ItemRewardItemCountFunc() end,function(realIndex) return self:ItemRewardItemGetFunc(realIndex) end,function(realIndex, kmlcontrol) return self:ItemRewardItemInitFunc(realIndex, kmlcontrol) end, function(realIndex, kmlcontrol) return self:ItemRewardItemUpdateFunc(realIndex, kmlcontrol) end) self.Item_Reward_all_item = {} end --region 道具奖励列表 function this:ItemRewardItemCountFunc() return #self.allItemRewardData end function this:ItemRewardItemGetFunc(realIndex) local itemId = self.allItemRewardData[realIndex + 1][1] local itemCount = self.allItemRewardData[realIndex + 1][2] local item = GUI:Item_Create(self.view.itemContent,{ width = 60, height = 60, itemid = itemId, --mfixsize = "80,80", tips = "1", itemcustomcount = itemCount, }) GUI:AddOnClickEvent(item,self,function() SL:OpenTips(nil,itemId) end) self.Item_Reward_all_item[realIndex + 1] = item return item.kmlControl end function this:ItemRewardItemInitFunc(realIndex, kmlcontrol) end function this:ItemRewardItemUpdateFunc(realIndex, kmlcontrol) local itemId = self.allItemRewardData[realIndex + 1][1] local itemCount = self.allItemRewardData[realIndex + 1][2] local item = self.Item_Reward_all_item[realIndex + 1] GUI:Item_setItemId(item,itemId) GUI:Item_setItemCount(item,itemCount) GUI:AddOnClickEvent(item,self,function() SL:OpenTips(nil,itemId) end) end function this:RefreshItemList(Rewards) self.allItemRewardData = Rewards GUI:DataListUpdateData(self.view.itemContent) end --endregion 道具奖励列表 ---注册UI事件和服务器消息 function this:RegistEvents() GUI:AddOnClickEvent(self.view.buyBtn,self,self.buyBtn) end function this:buyBtn() if self.canBuy and self.args then GUIUtil.SDKPay(self.args.rechargeCfg,1) end end ---创建或者刷新界面数据时调用 function this:Refresh() if self.args then GUI:Text_setString(self.view.titleText,self.args.rechargeCfg.name) GUI:Text_setString(self.view.DiscountText,string.format("%d%%",self.args.lifetimeCfg.rebate)) local remainCount,totalCount = InfoManager.countInfo:GetLimitAndTotalCountByKey(self.args.rechargeCfg.Countkey) self.canBuy = remainCount > 0 if self.canBuy then GUI:Text_setString(self.view.countText,string.format("终生限购次数:%d/%d",totalCount-remainCount,totalCount)) GUI:Button_setTitleText(self.view.buyBtn,string.format("%d元",self.args.rechargeCfg.amount)) --GUI:Button_setGrey(self.view.buyBtn,false) else GUI:Text_setString(self.view.countText,string.format("终生限购次数:%d/%d",totalCount-remainCount,totalCount)) GUI:Button_setTitleText(self.view.buyBtn,"已购买") --GUI:Button_setGrey(self.view.buyBtn,true) end self:RefreshItemList(self.args.lifetimeCfg.Rewards) end end function this:RefreshItem(args) self.args = args self:Refresh() end function this:Close() self.canBuy = nil end return this