KLWearBarBtnItem.lua 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. ---@class KLWearBarBtnItem:UIKmlLuaPanelBase
  2. ---@field view KLWearBarBtnItemView
  3. local KLWearBarBtnItem = class(UIKmlLuaPanelBase)
  4. local this =KLWearBarBtnItem
  5. ---创建时调用一次
  6. function this:Init()
  7. end
  8. ---创建或者刷新界面数据时调用
  9. function this:Refresh()
  10. local args = self.args
  11. if not args then
  12. return
  13. end
  14. local imgName = args.sprite
  15. local chooseName = args.selectSprite
  16. local toggleGroup = args.toggleGroup
  17. local atlas = args.altas
  18. self.wearBar = args.wearBar
  19. local width = args.width
  20. local height = args.height
  21. self.onClick = args.onClick
  22. self.clickData = args.clickData
  23. GUI:Image_loadTexture(self.view.ItemBackground, imgName, atlas)
  24. GUI:Image_loadTexture(self.view.ItemCheckmark, chooseName , atlas)
  25. GUI:Text_setString(self.view.ItemLabel, "")
  26. GUI:setContentSize(self.view.root, width, height)
  27. GUI:setContentSize(self.view.toggle_item, width, height)
  28. GUI:setContentSize(self.view.ItemBackground, width, height)
  29. GUI:setContentSize(self.view.ItemCheckmark, width, height)
  30. GUI:SetToggleGroup(self.view.toggle_item, toggleGroup)
  31. end
  32. ---注册UI事件和服务器消息
  33. function this:RegistEvents()
  34. GUI:SetToggleOnValueChange(self.view.toggle_item, self, self.ToggleOnClick)
  35. end
  36. function this:ToggleOnClick(control, eventData, state)
  37. if state[1] and self.onClick then
  38. self.onClick(self.clickData, self.wearBar)
  39. end
  40. end
  41. function this:SetSelected()
  42. GUI:Toggle_setIsOn(self.view.toggle_item, true)
  43. end
  44. function this:SetSelectedIgnoreIsOn()
  45. local isOn = GUI:Toggle_getIsOn(self.view.toggle_item)
  46. if isOn then
  47. self:ToggleOnClick(_, _, {true})
  48. else
  49. GUI:Toggle_setIsOn(self.view.toggle_item, true)
  50. end
  51. end
  52. function this:Close()
  53. end
  54. return this