KLTradeBagPanel.lua 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. ---@class KLTradeBagPanel:UIKmlLuaPanelBase
  2. ---@field view KLTradeBagPanelView
  3. local KLTradeBagPanel = class(UIKmlLuaPanelBase)
  4. local this = KLTradeBagPanel
  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. --Stall
  12. if not self.bagTileScrollView then
  13. GUI:UIPanel_Open("dev/ui/Common/Item/KLUIBagTileScrollView/KLUIBagTileScrollViewItem", self.view.root, self,
  14. {
  15. itemList = self.args.itemList,
  16. id = EBagShowType.TradeLine,
  17. forbidCount = 0,
  18. hor = self.maxHor,
  19. vet = self.maxVet,
  20. canDrag = false,
  21. itemClick = self.args and self.args.itemClick,
  22. callBackUI = self.args and self.args.callBackUI
  23. }, false, function(bagTileScrollView)
  24. ---@type KLUIBagTileScrollViewItem
  25. self.bagTileScrollView = bagTileScrollView
  26. local x = self.x
  27. local y = self.y
  28. GUI:setContentSize(self.bagTileScrollView.view.BagTileScrollViewPrefab, 360, 400)
  29. GUI:setPosition(self.bagTileScrollView.view.BagTileScrollViewPrefab, 35, 0)
  30. GUI:setContentSize(self.bagTileScrollView.view.prefabBagTileScrollView_, 360, 400)
  31. GUI:setPosition(self.view.root, x, y)
  32. if self.args and self.args.itemList then
  33. self.bagTileScrollView:ClearBagItem()
  34. self.bagTileScrollView:RefreshItemByItem(self.args.itemList)
  35. end
  36. end)
  37. end
  38. end
  39. ---初始化数据
  40. function this:InitData(data)
  41. self.x = (data and data.x) or 0
  42. self.y = (data and data.y) or 0
  43. end
  44. ---创建或者刷新界面数据时调用
  45. function this:Refresh()
  46. end
  47. function this:RefreshItem(itemlist)
  48. if self.bagTileScrollView and itemlist then
  49. self.bagTileScrollView:ClearBagItem()
  50. self.bagTileScrollView:RefreshItemByItem(itemlist, function()
  51. self.bagTileScrollView:RefreshInfo()
  52. end, self)
  53. end
  54. end
  55. ---注册UI事件和服务器消息
  56. function this:RegistEvents()
  57. --GUI:AddOnClickEvent(self.view.closeBtn, self, self.ClosePanel)
  58. end
  59. function this:ClosePanel()
  60. end
  61. function this:Close()
  62. GUI:UIPanel_Close("dev/ui/Common/Item/KLUIBagTileScrollView/KLUIBagTileScrollViewItem")
  63. end
  64. return this