KLItemBatchUsePanel.lua 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. ---@class KLItemBatchUsePanel:UIKmlLuaPanelBase
  2. ---@field view KLItemBatchUsePanelView
  3. local KLItemBatchUsePanel = class(UIKmlLuaPanelBase)
  4. local this =KLItemBatchUsePanel
  5. ---创建时调用一次
  6. function this:Init()
  7. end
  8. ---创建或者刷新界面数据时调用
  9. function this:Refresh()
  10. self.itemIndex = self.args.itemIndex
  11. self.itemCfgId = self.args.itemCfgId
  12. self.maxCount = SL:GetBagItemCount(self.itemCfgId)
  13. self:InitInput()
  14. self:InitItem()
  15. end
  16. function this:InitInput()
  17. GUI:Text_setString(self.view.InputFieldNum,"1")
  18. end
  19. function this:InitItem()
  20. GUI:Item_Create(self.view.Item, {
  21. width = "45",
  22. height = "45",
  23. itemid = self.itemCfgId,
  24. noclip = "1",
  25. mfixsize = "45,45",
  26. count = 0,
  27. })
  28. end
  29. ---注册UI事件和服务器消息
  30. function this:RegistEvents()
  31. GUI:AddOnClickEvent(self.view.BtnCancel,self,self.CancelBtnClick)
  32. GUI:AddOnClickEvent(self.view.BtnSure,self,self.SureBtnClick)
  33. GUI:AddOnClickEvent(self.view.BtnCountAdd,self,self.BtnCountAddOnClick)
  34. GUI:AddOnClickEvent(self.view.BtnCountMinus,self,self.BtnCountMinusOnClick)
  35. GUI:Input_SetOnEndEdit(self.view.InputFieldNum,self,self.InputFieldNumOnEndEdit)
  36. end
  37. function this:InputFieldNumOnEndEdit(_,_,eventData)
  38. local text = eventData[1]
  39. GUI:Text_setString(self.view.InputFieldNum,tostring(text))
  40. self:CheckInput()
  41. end
  42. function this:CheckInput()
  43. local inputStr = GUI:Text_getString(self.view.InputFieldNum)
  44. local inputNum = tonumber(inputStr)
  45. if not inputNum then
  46. GUI:Text_setString(self.view.InputFieldNum,"1")
  47. return
  48. end
  49. if inputNum >= self.maxCount then
  50. GUI:Text_setString(self.view.InputFieldNum,tostring(self.maxCount))
  51. return
  52. end
  53. if inputNum <= 0 then
  54. GUI:Text_setString(self.view.InputFieldNum,"1")
  55. return
  56. end
  57. end
  58. function this:BtnCountAddOnClick()
  59. local text = GUI:Text_getString(self.view.InputFieldNum)
  60. local inputNum = tonumber(text)
  61. if self.maxCount <= inputNum then
  62. return
  63. end
  64. GUI:Text_setString(self.view.InputFieldNum,tostring(inputNum + 1))
  65. end
  66. function this:BtnCountMinusOnClick()
  67. local text = GUI:Text_getString(self.view.InputFieldNum)
  68. local inputNum = tonumber(text)
  69. inputNum = inputNum - 1
  70. if inputNum <= 0 then
  71. inputNum = self.maxCount
  72. end
  73. GUI:Text_setString(self.view.InputFieldNum,tostring(inputNum))
  74. end
  75. function this:Close()
  76. end
  77. function this:CancelBtnClick()
  78. GUI:UIPanel_Close("dev/ui/ItemBase/Panel/KLItemBatchUse/KLItemBatchUsePanel")
  79. end
  80. function this:SureBtnClick()
  81. local count = GUI:Text_getString(self.view.InputFieldNum)
  82. SL:ReqUseItemMessage(self.itemIndex,tonumber(count))
  83. GUI:UIPanel_Close("dev/ui/ItemBase/Panel/KLItemBatchUse/KLItemBatchUsePanel")
  84. end
  85. return this