KLQuintonInvasionRewardPanel.lua 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110
  1. ---@class KLQuintonInvasionRewardPanel:UIKmlLuaPanelBase
  2. ---@field view KLQuintonInvasionRewardPanelView
  3. local KLQuintonInvasionRewardPanel = class(UIKmlLuaPanelBase)
  4. local this =KLQuintonInvasionRewardPanel
  5. function this:AsyncLoadUI()
  6. end
  7. ---创建时调用一次
  8. function this:Init()
  9. self.reward_all_item = {}
  10. GUI:DataListInitData(self.view.rewardList,function()
  11. return self:RewardDataListItemCountFunc()
  12. end,function(realIndex)
  13. return self:RewardDataListItemGetFunc(realIndex)
  14. end,function(realIndex, kmlcontrol)
  15. return self:RewardDataListItemInitFunc(realIndex, kmlcontrol)
  16. end, function(realIndex, kmlcontrol)
  17. return self:RewardDataListItemUpdateFunc(realIndex, kmlcontrol)
  18. end)
  19. end
  20. ---注册UI事件和服务器消息
  21. function this:RegistEvents()
  22. GUI:AddOnClickEvent(self.view.model,self,self.OnClickTip)
  23. GUI:AddOnClickEvent(self.view.closeBtn,self,self.OnClickCloseBtn)
  24. end
  25. function this:OnClickTip()
  26. ---@type cfg_repGlobal_column
  27. local tbl = SL:GetConfig("cfg_repGlobal",21001005,"id")
  28. GUI:UIPanel_Open("dev/outui/Mount/Panel/KLMountTip/KLMountTipPanel",nil,nil,{cfgId=tonumber(tbl.value),type = EMountTipType.OtherUIOpen})
  29. end
  30. function this:OnClickCloseBtn()
  31. GUI:UIPanel_Close("dev/outui/Activity/Panel/KLQuintonInvasionReward/KLQuintonInvasionRewardPanel")
  32. end
  33. ---界面显示时调用一次
  34. function this:Show()
  35. end
  36. ---创建或者刷新界面数据时调用
  37. function this:Refresh()
  38. ---@type cfg_repGlobal_column
  39. local tbl = SL:GetConfig("cfg_repGlobal",21001005,"id")
  40. GUI:Item_setItemId(self.view.model_item,tbl.value)
  41. self:RefreshReward()
  42. end
  43. function this:RefreshReward()
  44. ---@type cfg_repGlobal_column
  45. local tbl = SL:GetConfig("cfg_repGlobal",21001003,"id")
  46. self.rewardData = {}
  47. self.numberRewardData = {}
  48. local m = string.split(tbl.value,"|")
  49. for i, v in pairs(m) do
  50. local n = string.split(v,"#")
  51. table.insert(self.rewardData,n)
  52. local f = {}
  53. local itemId = 0
  54. for j, v1 in pairs(n) do
  55. if j > 2 then
  56. if j%2 == 0 then
  57. table.insert(f,{itemId,v1})
  58. else
  59. itemId = tonumber(v1)
  60. end
  61. end
  62. end
  63. self.numberRewardData[i] = f
  64. end
  65. GUI:DataListUpdateData(self.view.rewardList)
  66. end
  67. function this:RewardDataListItemCountFunc()
  68. return #self.rewardData
  69. end
  70. function this:RewardDataListItemGetFunc(realIndex)
  71. local index = realIndex + 1
  72. local data = self.rewardData[index]
  73. local numberTxt = data[1]
  74. if data[1]~=data[2] then
  75. numberTxt = data[1] .. "~" ..data[2]
  76. end
  77. local message = {rewardList = self.numberRewardData[index],numberTxt = "第"..numberTxt.."名"}
  78. local item = GUI:UIPanel_Open("dev/outui/Activity/Item/KLQuintonInvasionReward/KLQuintonInvasionRewardItem",self.view.rewardList,self,message,true)
  79. self.reward_all_item[item.view.root] = item
  80. return item.view.root
  81. end
  82. function this:RewardDataListItemInitFunc(realIndex, kmlcontrol)
  83. end
  84. function this:RewardDataListItemUpdateFunc(realIndex, kmlcontrol)
  85. local index = realIndex + 1
  86. local data = self.rewardData[index]
  87. local numberTxt = data[1]
  88. if data[1]~=data[2] then
  89. numberTxt = data[1] .. "~" ..data[2]
  90. end
  91. local message = {rewardList = self.numberRewardData[index],numberTxt = "第"..numberTxt.."名"}
  92. self.reward_all_item[kmlcontrol]:RefreshItem(message)
  93. end
  94. function this:Close()
  95. end
  96. return this