KLShapeShiftCardAutoUpgradePanel.lua 3.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. ---@class KLShapeShiftCardAutoUpgradePanel:UIKmlLuaPanelBase
  2. ---@field view KLShapeShiftCardAutoUpgradePanelView
  3. local KLShapeShiftCardAutoUpgradePanel = class(UIKmlLuaPanelBase)
  4. local this = KLShapeShiftCardAutoUpgradePanel
  5. local AutoConfig = {
  6. [E_ShapeShiftCardFuncType.Synthesis] = {
  7. "1级",
  8. "2级",
  9. "3级",
  10. "4级",
  11. },
  12. [E_ShapeShiftCardFuncType.Break] = {
  13. "碧蓝",
  14. "耀金",
  15. }
  16. }
  17. function this:AsyncLoadUI()
  18. end
  19. ---创建时调用一次
  20. function this:Init()
  21. self.autoUpgradeSelect = 1
  22. self.canAuto = false
  23. GUI:DataListInitData(self.view.toggle_list,
  24. function()
  25. return #AutoConfig[self.args.funcType]
  26. end,
  27. nil,
  28. nil,
  29. function(realIndex, kmlcontrol)
  30. return self:DataListItemUpdateFunc(realIndex, kmlcontrol)
  31. end)
  32. end
  33. function this:DataListItemUpdateFunc(realIndex)
  34. local toggle_sub = GUI:GetChildControl(self.view.toggle_list, realIndex, 'toggle_sub')
  35. local text_sub = GUI:GetChildControl(self.view.toggle_list, realIndex, 'text_sub')
  36. GUI:SetToggleOnValueChange(toggle_sub, self, self.AutoUpgradeSelectOnClick, realIndex + 1)
  37. GUI:Toggle_setIsOn(toggle_sub, self.autoUpgradeSelect == realIndex + 1)
  38. GUI:Text_setString(text_sub, AutoConfig[self.args.funcType][realIndex + 1])
  39. end
  40. function this:AutoUpgradeSelectOnClick(_, eventData, args)
  41. if args[1] then
  42. self.autoUpgradeSelect = eventData
  43. self.canAuto = InfoManager.shapeShiftCardInfo:GetCardLevelOrQualityCanUpgrade(self.args.funcType, self.args.cardType, self.autoUpgradeSelect)
  44. end
  45. end
  46. ---注册UI事件和服务器消息
  47. function this:RegistEvents()
  48. GUI:AddOnClickEvent(self.view.btn_close, self, self.CloseSelf)
  49. GUI:AddOnClickEvent(self.view.btn_card_func, self, self.FuncOnClick)
  50. end
  51. ---界面显示时调用一次
  52. function this:Show()
  53. --GUI:UIPanel_Open("dev/outui/ShapeShiftCard/Panel/KLShapeShiftCardAutoUpgrade/KLShapeShiftCardAutoUpgradePanel")
  54. GUI:Button_setTitleText(self.view.btn_card_func, self.args.btnName)
  55. GUI:Text_setString(self.view.text_tips, "选中需要" .. self.args.btnName .. "卡牌选项")
  56. end
  57. ---创建或者刷新界面数据时调用
  58. function this:Refresh()
  59. GUI:DataListUpdateData(self.view.toggle_list)
  60. end
  61. function this:FuncOnClick()
  62. if self.autoUpgradeSelect > 0 and self.canAuto then
  63. local stringId
  64. if self.args.funcType == E_ShapeShiftCardFuncType.Synthesis then
  65. stringId = 20006
  66. elseif self.args.funcType == E_ShapeShiftCardFuncType.Break then
  67. stringId = 20008
  68. end
  69. SL:CommonTipsMessage({ stringTblID = stringId, ui = self, callback = function()
  70. if self.args and self.args.callback then
  71. self.args.callback(self.args.cardType, self.autoUpgradeSelect)
  72. end
  73. self:CloseSelf()
  74. end })
  75. else
  76. SL:TipMessage(SL:GetConfig('cfg_string', 20004).text, 1, NoticeType.NoticeMid) --"卡牌数量不足"
  77. end
  78. end
  79. function this:CloseSelf()
  80. GUI:UIPanel_Close("dev/outui/ShapeShiftCard/Panel/KLShapeShiftCardAutoUpgrade/KLShapeShiftCardAutoUpgradePanel")
  81. end
  82. function this:Hide()
  83. end
  84. function this:Close()
  85. end
  86. return this