KLItemGetPathPanel.lua 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. ---@class KLItemGetPathPanel:UIKmlLuaPanelBase
  2. ---@field view KLItemGetPathPanelView
  3. local KLItemGetPathPanel = class(UIKmlLuaPanelBase)
  4. local this =KLItemGetPathPanel
  5. ---创建时调用一次
  6. function this:Init()
  7. GUI:DataListInitData(self.view.gainData_list, function()
  8. return self:DataListItemCountFunc()
  9. end, function(realIndex)
  10. return self:DataListItemGetFunc(realIndex)
  11. end, function(realIndex, kmlcontrol)
  12. return self:DataListItemInitFunc(realIndex, kmlcontrol)
  13. end, function(realIndex, kmlcontrol)
  14. return self:DataListItemUpdateFunc(realIndex, kmlcontrol)
  15. end)
  16. end
  17. ---创建或者刷新界面数据时调用
  18. function this:Refresh()
  19. ----@type {itemId:number,pos:{x:number,y:number}}
  20. self.args = self.args
  21. ---@type cfg_item_column
  22. self.itemCfg = SL:GetConfig("cfg_item",self.args.itemId)
  23. if self.args.pos then
  24. GUI:setPositionX(self.view.root,self.args.pos[1])
  25. GUI:setPositionY(self.view.root,self.args.pos[2])
  26. end
  27. if self.args and self.args.width then
  28. GUI:setContentSize(self.view.rootBG,self.args.width,self.args.height)
  29. end
  30. GUI:DataListUpdateData(self.view.gainData_list)
  31. self:SetBgHeight()
  32. end
  33. function this:SetBgHeight()
  34. GUI:setContentSize(self.view.bg,GUI:GetControlWidth(self.view.bg),80 + 75 * #self.itemCfg.Quickshopping)
  35. GUI:setContentSize(self.view.gainList,GUI:GetControlWidth(self.view.gainList),75 * #self.itemCfg.Quickshopping)
  36. end
  37. ---注册UI事件和服务器消息
  38. function this:RegistEvents()
  39. --GUI:AddOnClickEvent(self.view.closeBg, self, self.BtnCloseOnClick)
  40. end
  41. function this:BtnCloseOnClick()
  42. GUI:UIPanel_Close("dev/ui/Common/Panel/KLItemGetPath/KLItemGetPathPanel")
  43. SL:CloseTips()
  44. end
  45. function this:DataListItemCountFunc()
  46. return #self.itemCfg.Quickshopping
  47. end
  48. function this:DataListItemGetFunc(realIndex)
  49. ---@type KLItemGetPathItem
  50. local item = GUI:UIPanel_Open("dev/ui/Common/Item/KLItemGetPath/KLItemGetPathItem", self.view.gainData_list, self, nil,true)
  51. local tempData = {
  52. itemCfg = self.itemCfg,
  53. quickshopping = self.itemCfg.Quickshopping[realIndex + 1],
  54. callBack = self.args.callBack,
  55. ui = self.args.ui
  56. }
  57. item:InitData(tempData)
  58. return item.view.root
  59. end
  60. ---@param kmlcontrol UIKmlLuaControl
  61. function this:DataListItemInitFunc(realIndex, kmlcontrol)
  62. end
  63. function this:DataListItemUpdateFunc(realIndex, kmlcontrol)
  64. end
  65. function this:Close()
  66. end
  67. return this