---@class KLShapeShiftCardAutoUpgradePanel:UIKmlLuaPanelBase ---@field view KLShapeShiftCardAutoUpgradePanelView local KLShapeShiftCardAutoUpgradePanel = class(UIKmlLuaPanelBase) local this = KLShapeShiftCardAutoUpgradePanel local AutoConfig = { [E_ShapeShiftCardFuncType.Synthesis] = { "1级", "2级", "3级", "4级", }, [E_ShapeShiftCardFuncType.Break] = { "碧蓝", "耀金", } } function this:AsyncLoadUI() end ---创建时调用一次 function this:Init() self.autoUpgradeSelect = 1 self.canAuto = false GUI:DataListInitData(self.view.toggle_list, function() return #AutoConfig[self.args.funcType] end, nil, nil, function(realIndex, kmlcontrol) return self:DataListItemUpdateFunc(realIndex, kmlcontrol) end) end function this:DataListItemUpdateFunc(realIndex) local toggle_sub = GUI:GetChildControl(self.view.toggle_list, realIndex, 'toggle_sub') local text_sub = GUI:GetChildControl(self.view.toggle_list, realIndex, 'text_sub') GUI:SetToggleOnValueChange(toggle_sub, self, self.AutoUpgradeSelectOnClick, realIndex + 1) GUI:Toggle_setIsOn(toggle_sub, self.autoUpgradeSelect == realIndex + 1) GUI:Text_setString(text_sub, AutoConfig[self.args.funcType][realIndex + 1]) end function this:AutoUpgradeSelectOnClick(_, eventData, args) if args[1] then self.autoUpgradeSelect = eventData self.canAuto = InfoManager.shapeShiftCardInfo:GetCardLevelOrQualityCanUpgrade(self.args.funcType, self.args.cardType, self.autoUpgradeSelect) end end ---注册UI事件和服务器消息 function this:RegistEvents() GUI:AddOnClickEvent(self.view.btn_close, self, self.CloseSelf) GUI:AddOnClickEvent(self.view.btn_card_func, self, self.FuncOnClick) end ---界面显示时调用一次 function this:Show() --GUI:UIPanel_Open("dev/outui/ShapeShiftCard/Panel/KLShapeShiftCardAutoUpgrade/KLShapeShiftCardAutoUpgradePanel") GUI:Button_setTitleText(self.view.btn_card_func, self.args.btnName) GUI:Text_setString(self.view.text_tips, "选中需要" .. self.args.btnName .. "卡牌选项") end ---创建或者刷新界面数据时调用 function this:Refresh() GUI:DataListUpdateData(self.view.toggle_list) end function this:FuncOnClick() if self.autoUpgradeSelect > 0 and self.canAuto then local stringId if self.args.funcType == E_ShapeShiftCardFuncType.Synthesis then stringId = 20006 elseif self.args.funcType == E_ShapeShiftCardFuncType.Break then stringId = 20008 end SL:CommonTipsMessage({ stringTblID = stringId, ui = self, callback = function() if self.args and self.args.callback then self.args.callback(self.args.cardType, self.autoUpgradeSelect) end self:CloseSelf() end }) else SL:TipMessage(SL:GetConfig('cfg_string', 20004).text, 1, NoticeType.NoticeMid) --"卡牌数量不足" end end function this:CloseSelf() GUI:UIPanel_Close("dev/outui/ShapeShiftCard/Panel/KLShapeShiftCardAutoUpgrade/KLShapeShiftCardAutoUpgradePanel") end function this:Hide() end function this:Close() end return this