KLUIForgeGroupPanel.lua 7.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187
  1. ---@class KLUIForgeGroupPanel:UIKmlLuaPanelBase
  2. ---@field view KLUIForgeGroupPanelView
  3. local KLUIForgeGroupPanel = class(UIKmlLuaPanelBase)
  4. local this = KLUIForgeGroupPanel
  5. ---创建时调用一次
  6. function this:Init()
  7. end
  8. ---创建或者刷新界面数据时调用
  9. function this:Refresh()
  10. self.forgeGroupType = EForgeGroupType.Strength
  11. self.equipSlot = nil
  12. if self.args and self.args.forgeGroupType then
  13. self.forgeGroupType = self.args.forgeGroupType
  14. self.equipSlot = self.args.equipSlot
  15. end
  16. if self.forgeGroupType == EForgeGroupType.Strength then
  17. --self.view.strengthToggle:SetTogIsOn(true)
  18. GUI:Toggle_setIsOn(self.view.strengthToggle, true)
  19. elseif self.forgeGroupType == EForgeGroupType.Add then
  20. --self.view.appendToggle:SetTogIsOn(true)
  21. GUI:Toggle_setIsOn(self.view.appendToggle, true)
  22. elseif self.forgeGroupType == EForgeGroupType.Decompose then
  23. --self.view.decomposeToggle:SetTogIsOn(true)
  24. GUI:Toggle_setIsOn(self.view.decomposeToggle, true)
  25. elseif self.forgeGroupType == EForgeGroupType.Trans then
  26. --self.view.transferToggle:SetTogIsOn(true)
  27. GUI:Toggle_setIsOn(self.view.transferToggle, true)
  28. elseif self.forgeGroupType == EForgeGroupType.Jewelry then
  29. --self.view.JewelryToggle:SetTogIsOn(true)
  30. GUI:Toggle_setIsOn(self.view.JewelryToggle, true)
  31. elseif self.forgeGroupType == EForgeGroupType.Regenerate then
  32. --self.view.RegenerateToggle:SetTogIsOn(true)
  33. GUI:Toggle_setIsOn(self.view.RegenerateToggle, true)
  34. elseif self.forgeGroupType == EForgeGroupType.Overlay380 then
  35. ---内置enum为Overlay380,用Overlay找不到对应值
  36. --self.view.overlayToggle:SetTogIsOn(true)
  37. GUI:Toggle_setIsOn(self.view.overlayToggle, true)
  38. elseif self.forgeGroupType == EForgeGroupType.Gem then
  39. --self.view.InlayToggle:SetTogIsOn(true)
  40. GUI:Toggle_setIsOn(self.view.InlayToggle, true)
  41. end
  42. --打开界面的时候刷新下红点
  43. SL:RefreshPanelALLRedPoint("KLUIForgeGroupPanel")
  44. end
  45. ---注册UI事件和服务器消息
  46. function this:RegistEvents()
  47. GUI:SetToggleOnValueChange(self.view.decomposeToggle, self, self.DecomposeToggleChange)
  48. GUI:SetToggleOnValueChange(self.view.strengthToggle, self, self.strengthToggle)
  49. GUI:SetToggleOnValueChange(self.view.appendToggle, self, self.appendToggle)
  50. GUI:SetToggleOnValueChange(self.view.overlayToggle, self, self.OverlayToggle)
  51. GUI:SetToggleOnValueChange(self.view.transferToggle, self, self.TransferToggle)
  52. GUI:SetToggleOnValueChange(self.view.JewelryToggle, self, self.JewelryToggle)
  53. GUI:SetToggleOnValueChange(self.view.RegenerateToggle, self, self.RegenerateToggle)
  54. GUI:SetToggleOnValueChange(self.view.InlayToggle, self, self.InlayToggleChanged)
  55. GUI:AddOnClickEvent(self.view.MaskCloseButton,self,self.OnClickCloseButton)
  56. end
  57. ---点击空白处关闭锻造界面以及打开的界面
  58. function this:OnClickCloseButton()
  59. SL:onLUAEvent(LUA_EVENT_FORGE_GROUP_PANEL_CLOSE)
  60. end
  61. function this:JewelryToggle(control, customData, eventData)
  62. if eventData then
  63. if eventData[1] then
  64. GUI:UIPanel_Open("dev/outui/Equip/Panel/KLEquipJewelry/KLEquipJewelryPanel")
  65. self:OnClickBlock()
  66. return
  67. end
  68. GUI:UIPanel_Close("dev/outui/Equip/Panel/KLEquipJewelry/KLEquipJewelryPanel")
  69. GUI:UIPanel_Close("dev/ui/Equip/Panel/KLEquipUI/KLEquipUIPanel")
  70. end
  71. end
  72. function this:Close()
  73. if self.timer then
  74. SL:UnSchedule(self.timer)
  75. self.timer = nil
  76. end
  77. SL.ShowMainPanel()
  78. end
  79. function this:appendToggle(control, customData, eventData)
  80. if eventData then
  81. if eventData[1] then
  82. GUI:UIPanel_Open("dev/outui/Equip/Panel/KLEquipAppendUI/KLEquipAppendUIPanel")
  83. self:OnClickBlock()
  84. return
  85. end
  86. GUI:UIPanel_Close("dev/outui/Equip/Panel/KLEquipAppendUI/KLEquipAppendUIPanel")
  87. GUI:UIPanel_Close("dev/outui/Bag/Panel/KLStrengthBag/KLStrengthBagPanel")
  88. GUI:UIPanel_Close("dev/ui/Equip/Panel/KLEquipUI/KLEquipUIPanel")
  89. end
  90. end
  91. function this:DecomposeToggleChange(control, customData, eventData)
  92. if eventData then
  93. if eventData[1] then
  94. SL:OpenEquipDecomposeUI()
  95. self:OnClickBlock()
  96. return
  97. end
  98. GUI:UIPanel_Close("dev/ui/Equip/Panel/KLEquipDecomposeUI/KLEquipDecomposeUIPanel")
  99. GUI:UIPanel_Close("dev/ui/Bag/Panel/KLRecoverBag/KLRecoverBagPanel")
  100. end
  101. end
  102. function this:strengthToggle(control, customData, eventData)
  103. if eventData then
  104. if eventData[1] then
  105. GUI:UIPanel_Open("dev/outui/Equip/Panel/KLEquipStrengthUI/KLEquipStrengthUIPanel",nil,nil,{equipSlot = self.equipSlot})
  106. self.equipSlot = nil
  107. self:OnClickBlock()
  108. return
  109. end
  110. GUI:UIPanel_Close("dev/outui/Equip/Panel/KLEquipStrengthUI/KLEquipStrengthUIPanel")
  111. GUI:UIPanel_Close("dev/outui/Bag/Panel/KLStrengthBag/KLStrengthBagPanel")
  112. GUI:UIPanel_Close("dev/ui/Equip/Panel/KLEquipUI/KLEquipUIPanel")
  113. end
  114. end
  115. function this:OverlayToggle(control, customData, eventData)
  116. if eventData then
  117. if eventData[1] then
  118. GUI:UIPanel_Open("dev/outui/Equip/Panel/KLEquipOverlay/KLEquipOverlayPanel")
  119. self:OnClickBlock()
  120. return
  121. end
  122. GUI:UIPanel_Close("dev/outui/Equip/Panel/KLEquipOverlay/KLEquipOverlayPanel")
  123. end
  124. end
  125. function this:TransferToggle(control,customData,eventData)
  126. if eventData then
  127. if eventData[1] then
  128. GUI:UIPanel_Open("dev/outui/Equip/Panel/KLUIEquipTransfer/KLUIEquipTransferPanel")
  129. self:OnClickBlock()
  130. return
  131. end
  132. GUI:UIPanel_Close("dev/outui/Bag/Panel/KLEquipBag/KLEquipBagPanel")
  133. GUI:UIPanel_Close("dev/outui/Equip/Panel/KLUIEquipTransfer/KLUIEquipTransferPanel")
  134. end
  135. end
  136. function this:RegenerateToggle(control,customData,eventData)
  137. if eventData then
  138. if eventData[1] then
  139. GUI:UIPanel_Open("dev/outui/Equip/Panel/KLEquipRegenerateUI/KLEquipRegenerateUIPanel")
  140. self:OnClickBlock()
  141. return
  142. end
  143. GUI:UIPanel_Close("dev/outui/Equip/Panel/KLEquipRegenerateUI/KLEquipRegenerateUIPanel")
  144. GUI:UIPanel_Close("dev/outui/Bag/Panel/KLStrengthBag/KLStrengthBagPanel")
  145. GUI:UIPanel_Close("dev/ui/Equip/Panel/KLEquipUI/KLEquipUIPanel")
  146. end
  147. end
  148. function this:InlayToggleChanged(control,customData,eventData)
  149. if eventData then
  150. if eventData[1] then
  151. GUI:UIPanel_Open("dev/outui/Equip/Panel/KLGemInlay/KLGemInlayPanel")
  152. self:OnClickBlock()
  153. return
  154. end
  155. GUI:UIPanel_Close("dev/outui/Bag/Panel/KLGemSlateBag/KLGemSlateBagPanel")
  156. GUI:UIPanel_Close("dev/outui/Equip/Panel/KLGemEquipUI/KLGemEquipUIPanel")
  157. GUI:UIPanel_Close("dev/outui/Equip/Panel/KLGemInlay/KLGemInlayPanel")
  158. end
  159. end
  160. function this:OnClickBlock()
  161. GUI:setVisible(self.view.img_block, true)
  162. if self.timer then
  163. SL:UnSchedule(self.timer)
  164. end
  165. self.timer = SL:ScheduleOnce(0.5, function()
  166. GUI:setVisible(self.view.img_block, false)
  167. end)
  168. end
  169. return this