KLHuntingDemonsRewardItem.lua 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. ---@class KLHuntingDemonsRewardItem:UIKmlLuaPanelBase
  2. ---@field view KLHuntingDemonsRewardItemView
  3. local KLHuntingDemonsRewardItem = class(UIKmlLuaPanelBase)
  4. local this =KLHuntingDemonsRewardItem
  5. ---创建时调用一次
  6. function this:Init()
  7. GUI:DataListInitData(self.view.Reward_ItemDataList,function()
  8. return self:GetRewardDataListItemCountFunc()
  9. end,function(realIndex)
  10. return self:GetRewardDataListItemGetFunc(realIndex)
  11. end,function(realIndex, kmlcontrol)
  12. return self:GetRewardDataListItemInitFunc(realIndex, kmlcontrol)
  13. end, function(realIndex, kmlcontrol)
  14. return self:GetRewardDataListItemUpdateFunc(realIndex, kmlcontrol)
  15. end)
  16. end
  17. ---注册UI事件和服务器消息
  18. function this:RegistEvents()
  19. end
  20. ---界面显示时调用一次
  21. function this:Show()
  22. end
  23. ---创建或者刷新界面数据时调用
  24. function this:Refresh()
  25. end
  26. function this:Hide()
  27. end
  28. function this:Close()
  29. end
  30. -------------------奖励预览---------------------------
  31. function this:GetRewardDataListItemCountFunc()
  32. return #self.RewardDataList
  33. end
  34. function this:GetRewardDataListItemGetFunc(realIndex)
  35. end
  36. function this:GetRewardDataListItemInitFunc(realIndex, kmlcontrol)
  37. end
  38. function this:GetRewardDataListItemUpdateFunc(realIndex, kmlcontrol)
  39. local data = self.RewardDataList[realIndex + 1]
  40. local item = GUI:GetChildControl(self.view.Reward_ItemDataList,realIndex,'Reward_Item')
  41. local countStr = ""
  42. if data.count and data.count ~= "" then
  43. countStr = SL:GetSimpleNumber(data.count,1)
  44. end
  45. ---@type cfg_item_column
  46. local itemTbl = SL:GetConfig("cfg_item", data.id,"id")
  47. ---@type cfg_model_charactor_column
  48. local model_tbl = SL:GetConfig("cfg_model_charactor",itemTbl.shape[1],"id")
  49. GUI:Item_UpdataData(item, {
  50. itemid = data.id,
  51. itemcustomcount = countStr,
  52. mscale = model_tbl.inscale..","..model_tbl.inscale..","..model_tbl.inscale,
  53. })
  54. GUI:AddOnClickEvent(item, self, function()
  55. SL:OpenTips(nil, data.id)
  56. end)
  57. end
  58. --------------------------------------------
  59. ---设置排名文本和奖励信息
  60. ---@param data {rank:number,rewardList:table<number,{id:number,count:number}>}
  61. function this:SetRankTextAndReward(data)
  62. GUI:Text_setString(self.view.Reward_Item_RankText,data.rank)
  63. self.RewardDataList = data.rewardList
  64. GUI:DataListUpdateData(self.view.Reward_ItemDataList)
  65. end
  66. return this