KLEquipBagPanel.lua 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. ---@class KLEquipBagPanel:UIKmlLuaPanelBase
  2. ---@field view KLEquipBagPanelView
  3. local KLEquipBagPanel = class(UIKmlLuaPanelBase)
  4. local this = KLEquipBagPanel
  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. end
  13. ---初始化数据
  14. function this:InitData(data)
  15. self.x = (data and data.x) or 0
  16. self.y = (data and data.y) or 0
  17. self.bagType = (data and data.bagType) or EBagShowType.EquipTransfer
  18. end
  19. ---创建或者刷新界面数据时调用
  20. function this:Refresh()
  21. local x = self.x
  22. local y = self.y
  23. GUI:setPosition(self.view.root, x, y)
  24. self.bagType = (self.args and self.args.bagType) or EBagShowType.EquipTransfer
  25. ---@param win KLUIBagTileScrollViewItem
  26. GUI:UIPanel_Open("dev/ui/Common/Item/KLUIBagTileScrollView/KLUIBagTileScrollViewItem", self.view.root, self,
  27. {
  28. itemList = self.args.itemList,
  29. id = self.args.bagType,
  30. --forbidCount = SL:GetMetaValue("BAG_FORBID_COUNT"),
  31. hor = self.maxHor,
  32. vet = self.maxVet,
  33. canDrag = false,
  34. forbidClickCallback = self.forbidClick,
  35. itemClick = self.args and self.args.itemClickCallBack,
  36. selectList = self.args and self.args.selectList,
  37. callBackUI = self.args and self.args.callBackUI
  38. }, true, function(win)
  39. self.bagTileScrollView = win
  40. ---打开界面会刷新道具,此处注释
  41. --if self.args and self.args.itemList then
  42. -- self.bagTileScrollView:ClearBagItem()
  43. -- self.bagTileScrollView:RefreshItemByItem(self.args.itemList)
  44. --end
  45. end)
  46. end
  47. ---注册UI事件和服务器消息
  48. function this:RegistEvents()
  49. GUI:AddOnClickEvent(self.view.closeBtn, self, self.CloseSelf)
  50. GUI:AddOnClickEvent(self.view.person_shop_btn, self, self.personBtn)
  51. GUI:AddOnClickEvent(self.view.storage_btn, self, self.personBtn)
  52. GUI:AddOnClickEvent(self.view.recycle_btn, self, self.personBtn)
  53. GUI:AddOnClickEvent(self.view.tidy_btn, self, self.personBtn)
  54. end
  55. function this:personBtn()
  56. SL:MessageTip({id=502})
  57. end
  58. function this:RefreshBagItemShow(itemList)
  59. self.bagTileScrollView:ClearBagItem()
  60. self.bagTileScrollView:RefreshItemByItem(itemList)
  61. end
  62. function this:CloseSelf()
  63. self.args.callBackUI:CloseSelf()
  64. --GUI:UIPanel_Close("dev/ui/Bag/Panel/KLEquipBag/KLEquipBagPanel")
  65. --GUI:UIPanel_Close("dev/ui/Equip/Panel/KLUIEquipTransfer/KLUIEquipTransferPanel")
  66. --GUI:UIPanel_Close("dev/ui/UIForgeGroup/Panel/KLUIForgeGroup/KLUIForgeGroupPanel")
  67. end
  68. function this:Close()
  69. end
  70. return this