KLOverlayBagPanel.lua 2.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. ---@class KLOverlayBagPanel:UIKmlLuaPanelBase
  2. ---@field view KLOverlayBagPanelView
  3. local KLOverlayBagPanel = class(UIKmlLuaPanelBase)
  4. local this = KLOverlayBagPanel
  5. ---创建时调用一次
  6. function this:Init()
  7. self:InitData(self.args)
  8. local bag_info = string.split(SL:GetConfig("cfg_global",6).value,'#')
  9. self.maxHor = tonumber(bag_info[1]) + 20
  10. self.maxVet = tonumber(bag_info[2])
  11. EquipFunc:ReplaceEquipBagButton({self.view.person_shop_btn,self.view.storage_btn,self.view.recycle_btn,self.view.tidy_btn})
  12. GUI:UIPanel_Open("dev/ui/Common/Item/KLUIBagTileScrollView/KLUIBagTileScrollViewItem", self.view.root,self,
  13. {
  14. -- itemList = self.args.itemList,
  15. id = EBagShowType.EquipAdd,
  16. --forbidCount = SL:GetMetaValue("BAG_FORBID_COUNT"),
  17. hor = self.maxHor,
  18. vet = self.maxVet,
  19. canDrag = false,
  20. forbidClickCallback = self.forbidClick,
  21. itemClick = self.args and self.args.itemClick,
  22. selectList = {},
  23. callBackUI = self.args and self.args.callBackUI
  24. },false,function(bagTileScrollView)
  25. ---@type KLUIBagTileScrollViewItem
  26. self.bagTileScrollView = bagTileScrollView
  27. self.bagTileScrollView:ClearBagItem()
  28. self.bagTileScrollView:RefreshItemByItem(self.args.itemList)
  29. end)
  30. end
  31. ---初始化数据
  32. function this:InitData(data)
  33. self.x = (data and data.x) or 0
  34. self.y = (data and data.y) or 0
  35. end
  36. ---创建或者刷新界面数据时调用
  37. function this:Refresh()
  38. local x = self.x
  39. local y = self.y
  40. GUI:setPosition(self.view.root, x, y)
  41. if self.args and self.args.itemList then
  42. end
  43. end
  44. function this:RefreshItem(itemlist)
  45. if itemlist then
  46. self.bagTileScrollView:ClearBagItem()
  47. self.bagTileScrollView:RefreshItemByItem(itemlist)
  48. end
  49. end
  50. ---注册UI事件和服务器消息
  51. function this:RegistEvents()
  52. GUI:AddOnClickEvent(self.view.closeBtn, self, self.ClosePanel)
  53. GUI:AddOnClickEvent(self.view.person_shop_btn, self, self.personBtn)
  54. GUI:AddOnClickEvent(self.view.storage_btn, self, self.personBtn)
  55. GUI:AddOnClickEvent(self.view.recycle_btn, self, self.personBtn)
  56. GUI:AddOnClickEvent(self.view.tidy_btn, self, self.personBtn)
  57. end
  58. function this:personBtn()
  59. SL:MessageTip({id=502})
  60. end
  61. function this:ClosePanel()
  62. local overlay = GUI:GetUI("dev/outui/Equip/Panel/KLEquipOverlay/KLEquipOverlayPanel")
  63. if overlay then
  64. overlay:ClosePanel()
  65. end
  66. end
  67. function this:Close()
  68. end
  69. return this