KLOpenServerAthleticsGiftItem.lua 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112
  1. ---@class KLOpenServerAthleticsGiftItem:UIKmlLuaPanelBase
  2. ---@field view KLOpenServerAthleticsGiftItemView
  3. local KLOpenServerAthleticsGiftItem = class(UIKmlLuaPanelBase)
  4. local this = KLOpenServerAthleticsGiftItem
  5. ---创建时调用一次
  6. function this:Init()
  7. self.ItemList = {}
  8. self.ShowDataGiftTbl = nil
  9. self.luaIndex = nil
  10. end
  11. ---注册UI事件和服务器消息
  12. function this:RegistEvents()
  13. GUI:AddOnClickEvent(self.view.buyButton, self, self.buyButtonOnClick)
  14. end
  15. function this:buyButtonOnClick()
  16. if self.ShowDataGiftTbl and self.luaIndex then
  17. local buycount, totalcount = InfoManager.countInfo:GetLimitAndTotalCountByKey(self.ShowDataGiftTbl[self.luaIndex].count)
  18. if buycount <= 0 then
  19. SL:TipMessage(SL:GetConfig('cfg_string', 26).text, 1, NoticeType.NoticeMid)--"次数不足",
  20. return
  21. end
  22. SL:SendLuaNetMsg(LuaMessageIdToSever.REQ_BUY_DISCOUNTS_GIFT, { id = self.ShowDataGiftTbl[self.luaIndex].id })
  23. end
  24. end
  25. ---界面显示时调用一次
  26. function this:Show()
  27. end
  28. ---创建或者刷新界面数据时调用
  29. function this:Refresh()
  30. end
  31. function this:UpdateUI(luaIndex, ShowDataGiftTbl)
  32. GUI:SetActive(self.view.Red, false)
  33. self.ShowDataGiftTbl = ShowDataGiftTbl
  34. self.luaIndex = luaIndex
  35. local len = 0
  36. if ShowDataGiftTbl and ShowDataGiftTbl[luaIndex] then
  37. for i, v in pairs(ShowDataGiftTbl[luaIndex].reward) do
  38. local itemId = v[1]
  39. local count = v[2]
  40. local data = {
  41. width = "70",
  42. height = "70",
  43. itemid = itemId,
  44. mfixsize = "70,70",
  45. tips = "1",
  46. itemcustomcount = count
  47. }
  48. if self.ItemList[i] then
  49. GUI:Item_UpdataData(self.ItemList[i], data)
  50. else
  51. self.ItemList[i] = GUI:Item_Create(self.view.gridview85, data)
  52. end
  53. GUI:SetActive(self.ItemList[i], true)
  54. GUI:AddOnClickEvent(self.ItemList[i], self, function()
  55. SL:OpenTips(nil, itemId)
  56. end)
  57. len = len + 1
  58. end
  59. for i, v in pairs(self.ItemList) do
  60. if i > len then
  61. GUI:SetActive(v, false)
  62. end
  63. end
  64. GUI:Text_setString(self.view.giftCost, ShowDataGiftTbl[luaIndex].name)
  65. if ShowDataGiftTbl[luaIndex].buyConsume[2] == 0 then
  66. GUI:SetActive(self.view.giftzuanshi, false)
  67. GUI:SetActive(self.view.Red, true)
  68. GUI:Text_setString(self.view.GiftBtnText, "<color=#ffffff>" .. "免费" .. "</color>")
  69. else
  70. if ShowDataGiftTbl[luaIndex].buyConsume[1] == 10050001 then
  71. GUI:Image_loadTexture(self.view.giftzuanshi,"img_bag_05","Atlas/QJ5_OpenServerAthleticsPanel.spriteatlas")
  72. else
  73. GUI:Image_loadTexture(self.view.giftzuanshi,"img_bag_04","Atlas/QJ5_OpenServerAthleticsPanel.spriteatlas")
  74. end
  75. GUI:SetActive(self.view.giftzuanshi, true)
  76. GUI:Text_setString(self.view.GiftBtnText, "<color=#ffffff>" .. tostring(ShowDataGiftTbl[luaIndex].buyConsume[2]) .. "</color>")
  77. end
  78. local buycount, totalcount = InfoManager.countInfo:GetLimitAndTotalCountByKey(ShowDataGiftTbl[luaIndex].count)
  79. local parseTbl = SL:GetConfig("Count_count", ShowDataGiftTbl[luaIndex].count)
  80. if parseTbl.type == 1 then
  81. ---1:永久限购
  82. ---2:每月限购(1号0点)
  83. ---3:每周限购(周一0点)
  84. ---4:每日限购(每日0点)
  85. GUI:Text_setString(self.view.remainCount, "限购:" .. buycount .. "/" .. totalcount)
  86. elseif parseTbl.type == 2 then
  87. GUI:Text_setString(self.view.remainCount, "每月限购:" .. buycount .. "/" .. totalcount)
  88. elseif parseTbl.type == 3 then
  89. GUI:Text_setString(self.view.remainCount, "每周限购:" .. buycount .. "/" .. totalcount)
  90. elseif parseTbl.type == 4 then
  91. GUI:Text_setString(self.view.remainCount, "每日限购:" .. buycount .. "/" .. totalcount)
  92. end
  93. if buycount <= 0 then
  94. GUI:SetActive(self.view.giftzuanshi, false)
  95. GUI:SetActive(self.view.buyButton, false)
  96. GUI:Text_setString(self.view.GiftBtnText, "<color=#fe5047>" .. "已售罄" .. "</color>")
  97. else
  98. GUI:SetActive(self.view.buyButton, true)
  99. end
  100. end
  101. end
  102. function this:Close()
  103. self.ItemList = {}
  104. self.ShowDataGiftTbl = nil
  105. self.luaIndex = nil
  106. end
  107. return this