---@class KLOpenServerAthleticsGiftItem:UIKmlLuaPanelBase ---@field view KLOpenServerAthleticsGiftItemView local KLOpenServerAthleticsGiftItem = class(UIKmlLuaPanelBase) local this = KLOpenServerAthleticsGiftItem ---创建时调用一次 function this:Init() self.ItemList = {} self.ShowDataGiftTbl = nil self.luaIndex = nil end ---注册UI事件和服务器消息 function this:RegistEvents() GUI:AddOnClickEvent(self.view.buyButton, self, self.buyButtonOnClick) end function this:buyButtonOnClick() if self.ShowDataGiftTbl and self.luaIndex then local buycount, totalcount = InfoManager.countInfo:GetLimitAndTotalCountByKey(self.ShowDataGiftTbl[self.luaIndex].count) if buycount <= 0 then SL:TipMessage(SL:GetConfig('cfg_string', 26).text, 1, NoticeType.NoticeMid)--"次数不足", return end SL:SendLuaNetMsg(LuaMessageIdToSever.REQ_BUY_DISCOUNTS_GIFT, { id = self.ShowDataGiftTbl[self.luaIndex].id }) end end ---界面显示时调用一次 function this:Show() end ---创建或者刷新界面数据时调用 function this:Refresh() end function this:UpdateUI(luaIndex, ShowDataGiftTbl) GUI:SetActive(self.view.Red, false) self.ShowDataGiftTbl = ShowDataGiftTbl self.luaIndex = luaIndex local len = 0 if ShowDataGiftTbl and ShowDataGiftTbl[luaIndex] then for i, v in pairs(ShowDataGiftTbl[luaIndex].reward) do local itemId = v[1] local count = v[2] local data = { width = "70", height = "70", itemid = itemId, mfixsize = "70,70", tips = "1", itemcustomcount = count } if self.ItemList[i] then GUI:Item_UpdataData(self.ItemList[i], data) else self.ItemList[i] = GUI:Item_Create(self.view.gridview85, data) end GUI:SetActive(self.ItemList[i], true) GUI:AddOnClickEvent(self.ItemList[i], self, function() SL:OpenTips(nil, itemId) end) len = len + 1 end for i, v in pairs(self.ItemList) do if i > len then GUI:SetActive(v, false) end end GUI:Text_setString(self.view.giftCost, ShowDataGiftTbl[luaIndex].name) if ShowDataGiftTbl[luaIndex].buyConsume[2] == 0 then GUI:SetActive(self.view.giftzuanshi, false) GUI:SetActive(self.view.Red, true) GUI:Text_setString(self.view.GiftBtnText, "" .. "免费" .. "") else if ShowDataGiftTbl[luaIndex].buyConsume[1] == 10050001 then GUI:Image_loadTexture(self.view.giftzuanshi,"img_bag_05","Atlas/QJ5_OpenServerAthleticsPanel.spriteatlas") else GUI:Image_loadTexture(self.view.giftzuanshi,"img_bag_04","Atlas/QJ5_OpenServerAthleticsPanel.spriteatlas") end GUI:SetActive(self.view.giftzuanshi, true) GUI:Text_setString(self.view.GiftBtnText, "" .. tostring(ShowDataGiftTbl[luaIndex].buyConsume[2]) .. "") end local buycount, totalcount = InfoManager.countInfo:GetLimitAndTotalCountByKey(ShowDataGiftTbl[luaIndex].count) local parseTbl = SL:GetConfig("Count_count", ShowDataGiftTbl[luaIndex].count) if parseTbl.type == 1 then ---1:永久限购 ---2:每月限购(1号0点) ---3:每周限购(周一0点) ---4:每日限购(每日0点) GUI:Text_setString(self.view.remainCount, "限购:" .. buycount .. "/" .. totalcount) elseif parseTbl.type == 2 then GUI:Text_setString(self.view.remainCount, "每月限购:" .. buycount .. "/" .. totalcount) elseif parseTbl.type == 3 then GUI:Text_setString(self.view.remainCount, "每周限购:" .. buycount .. "/" .. totalcount) elseif parseTbl.type == 4 then GUI:Text_setString(self.view.remainCount, "每日限购:" .. buycount .. "/" .. totalcount) end if buycount <= 0 then GUI:SetActive(self.view.giftzuanshi, false) GUI:SetActive(self.view.buyButton, false) GUI:Text_setString(self.view.GiftBtnText, "" .. "已售罄" .. "") else GUI:SetActive(self.view.buyButton, true) end end end function this:Close() self.ItemList = {} self.ShowDataGiftTbl = nil self.luaIndex = nil end return this