---@class KLGemInlayPanel:UIKmlLuaPanelBase ---@field view KLGemInlayPanelView ---@field equipPanel KLGemEquipUIPanel local KLGemInlayPanel = class(UIKmlLuaPanelBase) local this =KLGemInlayPanel ---创建时调用一次 function this:Init() ---第一次打开界面 self.firstOpen = true self:OpenGemEquipUI() InfoManager.gemSlateInfo:SetOptEquip(nil) InfoManager.gemSlateInfo:ChangeGemPosId(nil) InfoManager.gemSlateInfo:ChangeEquipPosId(nil) self.curSelectGemInlayType=E_GemInlayType.Gem self.curSelectSchemeType=1 self.bagItems = {} self.currentAttList = {} GUI:DataListInitData(self.view.datalist_gemAttrs, function() return self:CurrentCountFunc() end, function(realIndex) return self:CurrentGetFunc(realIndex) end, function(realIndex, kmlcontrol) return self:CurrentInitFunc(realIndex, kmlcontrol) end, function(realIndex, kmlcontrol) return self:CurrentUpdateFunc(realIndex, kmlcontrol) end) GUI:DataListInitData(self.view.datalist_AllGemAttrs, function() return self:AllGemAttrCountFunc() end, function(realIndex) return self:AllGemAttrCurrentGetFunc(realIndex) end, function(realIndex, kmlcontrol) return self:AllGemAttrCurrentInitFunc(realIndex, kmlcontrol) end, function(realIndex, kmlcontrol) return self:AllGemAttrCurrentUpdateFunc(realIndex, kmlcontrol) end) end ---打开萤石装备界面 function this:OpenGemEquipUI() local selectType = nil local equip_boot = SL:GetMetaValue("EQUIP_TARGET_DATA", 1, EEquipSlotType.TwoHandWeapon) if equip_boot then-- 策划要求先选中武器 selectType = EEquipSlotType.Weapon end if not selectType then for index=1, 15 do if table.contains(InfoManager.gemSlateInfo.CanInlayGemEquipPosTbl,tostring(index)) then local equip = SL:GetMetaValue("EQUIP_TARGET_DATA", 1, index) if equip then selectType = index break end end end end GUI:UIPanel_Open("dev/outui/Equip/Panel/KLGemEquipUI/KLGemEquipUIPanel", nil, nil, { x = -465, hideTips = true, callBack = self.CloseEquipUi,selectType = selectType}, true, function(equipPanel) self.equipPanel = equipPanel SL:SendLuaNetMsg(LuaMessageIdToSever.REQ_SCHEME_INFO) end) end E_GemInlayType = { Gem = enum(0), Slate = enum(1), } ---注册UI事件和服务器消息 function this:RegistEvents() GUI:AddOnClickEvent(self.view.CloseButton, self, self.ClosePanel) GUI:AddOnClickEvent(self.view.GemCellImg1, self, self.OnClickGemCellImg1) GUI:AddOnClickEvent(self.view.GemCellImg2, self, self.OnClickGemCellImg2) GUI:AddOnClickEvent(self.view.GemCellImg3, self, self.OnClickGemCellImg3) GUI:AddOnClickEvent(self.view.SlateImg, self, self.OnClickSlateImg) GUI:AddOnClickEvent(self.view.zhu_click, self, self.OnClickOptEquip) GUI:AddOnClickEvent(self.view.HelpBtn, self, self.OnClickHelpBtn) GUI:SetToggleOnValueChange(self.view.schemeToggle1, self, self.SchemeToggleChanged,1) GUI:SetToggleOnValueChange(self.view.schemeToggle2, self, self.SchemeToggleChanged,2) GUI:SetToggleOnValueChange(self.view.gemBtn, self, self.GemSlateToggleChanged,E_GemInlayType.Gem) --GUI:SetToggleOnValueChange(self.view.slateBtn, self, self.GemSlateToggleChanged,E_GemInlayType.Slate) SL:RegisterLUAEvent(LUA_EVENT_EQUIP_GRID_CLICK, self.OnClickEquipPanelPos, self) SL:RegisterLUAEvent(LUA_EVENT_REFRESH_GEM_SLATE_INFO, self.RefreshPanelShow, self) SL:RegisterLuaNetMsg(LuaMessageIdToClient.RES_GEM_SCHEME, self.InitSchemeByMsg, self) SL:RegisterLUAEvent(LUA_EVENT_FORGE_GROUP_PANEL_CLOSE, self.ClosePanel, self) end ---创建或者刷新界面数据时调用 function this:Refresh() self:RefreshRedPoint() end function this:RefreshPanelShow() if self.firstOpen then self.firstOpen = false local equip_boot = SL:GetMetaValue("EQUIP_TARGET_DATA", 1, EEquipSlotType.TwoHandWeapon) if equip_boot then InfoManager.gemSlateInfo:ChangeEquipPosId(EEquipSlotType.TwoHandWeapon) self.bagIndex = nil self:ClickEquip(equip_boot) self.selectEquipType = EEquipSlotType.TwoHandWeapon return end for index=1, 15 do if table.contains(InfoManager.gemSlateInfo.CanInlayGemEquipPosTbl,tostring(index)) then local equip = SL:GetMetaValue("EQUIP_TARGET_DATA", 1, index) if equip then InfoManager.gemSlateInfo:ChangeEquipPosId(index) self.bagIndex = nil self.selectEquipType = index self:ClickEquip(equip) return end end end self:RefreshGemSlateShow(self.curSelectGemInlayType) return end self:RefreshGemSlateShow(self.curSelectGemInlayType) end function this:CurrentCountFunc() return #self.currentAttList end function this:CurrentGetFunc(realIndex) end function this:CurrentInitFunc(realIndex,kmlcontrol) end function this:CurrentUpdateFunc(realIndex,kmlcontrol) local data = self.currentAttList[realIndex + 1] local singleAttrTxt = GUI:GetChildControl(self.view.datalist_gemAttrs, realIndex, "singleAttrTxt") local cfg=SL:GetConfig("cfg_equip_gem", data) local attrTbl = SL:GetConfig("cfg_att_info", cfg.gemAtt[1][1]) local slateCfg local addValue=0 local factor=1 if self.curSelectGemInlayType==E_GemInlayType.Slate then local inlaySlate=InfoManager.gemSlateInfo:GetCurActiveSchemeGem(nil,true) if inlaySlate then slateCfg=SL:GetConfig("cfg_equip_stoneBoard", inlaySlate) end if slateCfg then for k, v in pairs(slateCfg.stoneAtt2) do if cfg.gemBelong[1]==v[1] then factor=v[2]*0.0001 break end end else factor=0 end -- GUI:SetActive(self.view.NoAttribute,not slateCfg) end local attrName=attrTbl.showname addValue=math.floor(cfg.gemAtt[1][2]*factor) if cfg.gemAtt[2] then if cfg.gemAtt[1][1]==200011 and cfg.gemAtt[2][1]==200021 then attrName="攻击力" addValue=string.format("%s~%s",math.floor(cfg.gemAtt[1][2]*factor),math.floor(cfg.gemAtt[2][2]*factor)) elseif cfg.gemAtt[1][1]==201011 and cfg.gemAtt[2][1]==201021 then attrName="攻击力"--"物理攻击力" addValue=string.format("%s~%s",math.floor(cfg.gemAtt[1][2]*factor),math.floor(cfg.gemAtt[2][2]*factor)) elseif cfg.gemAtt[1][1]==202011 and cfg.gemAtt[2][1]==202021 then attrName="攻击力"--"魔法攻击力" addValue=string.format("%s~%s",math.floor(cfg.gemAtt[1][2]*factor),math.floor(cfg.gemAtt[2][2]*factor)) elseif cfg.gemAtt[1][1]==205011 and cfg.gemAtt[2][1]==205021 then attrName="攻击力"--"诅咒攻击力" addValue=string.format("%s~%s",math.floor(cfg.gemAtt[1][2]*factor),math.floor(cfg.gemAtt[2][2]*factor)) elseif cfg.gemAtt[1][1]==203011 and cfg.gemAtt[2][1]==203021 then attrName="攻击力"--"天鹰攻击力" addValue=string.format("%s~%s",math.floor(cfg.gemAtt[1][2]*factor),math.floor(cfg.gemAtt[2][2]*factor)) end end GUI:Text_setString(singleAttrTxt,string.format("%s %s:%s",cfg.gemName,attrName,addValue)) end function this:AllGemAttrCountFunc() return #InfoManager.gemSlateInfo.ActiveGemSuitCfgTbl end function this:AllGemAttrCurrentGetFunc(realIndex) end function this:AllGemAttrCurrentInitFunc(realIndex,kmlcontrol) end function this:AllGemAttrCurrentUpdateFunc(realIndex,kmlcontrol) ---@type cfg_equip_gemSuit_column local data = InfoManager.gemSlateInfo.ActiveGemSuitCfgTbl[realIndex + 1] local NotActive = GUI:GetChildControl(self.view.datalist_AllGemAttrs, realIndex, "NotActive") local ActiveTxt = GUI:GetChildControl(self.view.datalist_AllGemAttrs, realIndex, "ActiveTxt") local detialBtn = GUI:GetChildControl(self.view.datalist_AllGemAttrs, realIndex, "detialBtn") GUI:AddOnClickEvent(detialBtn, self, self.OnClickAllGemsInfoBtn) GUI:SetActive(NotActive,data.sortId>0) GUI:SetActive(ActiveTxt,data.sortId<0) local txtShowColor="#DCE1E5" if data.sortId>0 then txtShowColor="#8E8E8E" end local gemTitleParent = GUI:GetChildControl(self.view.datalist_AllGemAttrs, realIndex, "gemTitleParent") local attrInfoTxt = GUI:GetChildControl(self.view.datalist_AllGemAttrs, realIndex, "attrInfoTxt") local skillInfoTxt = GUI:GetChildControl(self.view.datalist_AllGemAttrs, realIndex, "skillInfoTxt") GUI:Text_setString(gemTitleParent,data.title) GUI:Text_setTextColor(gemTitleParent,txtShowColor) local attrStr="" for i,v in ipairs(data.suitAtt) do local tmpStr=SL:GetConfig("cfg_att_info", v[1]).showname..v[2].." " attrStr=attrStr..tmpStr end -- local attrTbl = SL:GetConfig("cfg_att_info", v[1]) GUI:Text_setString(attrInfoTxt,attrStr) GUI:Text_setTextColor(attrInfoTxt,txtShowColor) GUI:Text_setString(skillInfoTxt,data.skillText) GUI:Text_setTextColor(skillInfoTxt,txtShowColor) end function this:RefreshGemSlateShow(EGemInlayType) local inlayGem1=InfoManager.gemSlateInfo:GetCurActiveSchemeGem("1") local inlayGem2=InfoManager.gemSlateInfo:GetCurActiveSchemeGem("2") local inlayGem3=InfoManager.gemSlateInfo:GetCurActiveSchemeGem("3") local inlaySlate=InfoManager.gemSlateInfo:GetCurActiveSchemeGem(nil,true) self.currentAttList={} if inlayGem1 then table.insert(self.currentAttList,inlayGem1) end if inlayGem2 then table.insert(self.currentAttList,inlayGem2) end if inlayGem3 then table.insert(self.currentAttList,inlayGem3) end if EGemInlayType==E_GemInlayType.Gem then GUI:SetActive(self.view.GemCellParentImg,true) GUI:SetActive(self.view.SlateCellParentImg,false) GUI:Text_setString(self.view.gemAddParentTitle,"萤石加成") self:SetGem1Model(inlayGem1) self:SetGem2Model(inlayGem2) self:SetGem3Model(inlayGem3) else if not inlaySlate then self:SetSlateModel(nil) else self:SetSlateModel(inlaySlate) end GUI:SetActive(self.view.GemCellParentImg,false) GUI:SetActive(self.view.SlateCellParentImg,true) GUI:Text_setString(self.view.gemAddParentTitle,"石板加成") end GUI:DataListUpdateData(self.view.datalist_gemAttrs) GUI:DataListUpdateData(self.view.datalist_AllGemAttrs) GUI:SetActive(self.view.NoAttribute,table.isNullOrEmpty(self.currentAttList)) end function this:SetEquipModel(equipInfo) if equipInfo then GUI:setVisible(self.view.zhu_add, false) GUI:setVisible(self.view.zhu_item, true) GUI:Item_setItemId(self.view.zhu_item, equipInfo.cfgId) self:SetLiuGuang(equipInfo) else GUI:setVisible(self.view.zhu_add, true) GUI:setVisible(self.view.zhu_item, false) GUI:ResetStreamAttr(self.view.zhu_item) end end function this:SetLiuGuang(equipInfo) local liuGuangId = EquipFunc.GetEquipLiuGuangId(equipInfo) if liuGuangId then GUI:SetStreamAttr(self.view.zhu_item, liuGuangId) else GUI:ResetStreamAttr(self.view.zhu_item) end end function this:SetSlateModel(cfgId) if not cfgId then GUI:setVisible(self.view.SlateCell, false) GUI:setVisible(self.view.SlateAddImg, true) GUI:setVisible(self.view.slateLevelTxt, false) else GUI:setVisible(self.view.slateLevelTxt, true) local cfg=SL:GetConfig("cfg_equip_stoneBoard", cfgId) GUI:Text_setString(self.view.slateLevelTxt,cfg.stoneBoardLevel.."级") GUI:setVisible(self.view.SlateCell, true) GUI:setVisible(self.view.SlateAddImg, false) GUI:Item_setItemId(self.view.SlateCell, cfgId) end end function this:SetGem1Model(cfgId) if not cfgId then GUI:setVisible(self.view.GemCell1, false) GUI:setVisible(self.view.AddImg1, true) GUI:setVisible(self.view.gemLevelTxt1, false) else GUI:setVisible(self.view.gemLevelTxt1, true) local cfg=SL:GetConfig("cfg_equip_gem", cfgId) GUI:Text_setString(self.view.gemLevelTxt1,cfg.gemBelong[2].."级") GUI:setVisible(self.view.GemCell1, true) GUI:setVisible(self.view.AddImg1, false) GUI:Item_setItemId(self.view.GemCell1, cfgId) end end function this:SetGem2Model(cfgId) if not cfgId then GUI:setVisible(self.view.GemCell2, false) GUI:setVisible(self.view.AddImg2, true) GUI:setVisible(self.view.gemLevelTxt2, false) else GUI:setVisible(self.view.gemLevelTxt2, true) local cfg=SL:GetConfig("cfg_equip_gem", cfgId) GUI:Text_setString(self.view.gemLevelTxt2,cfg.gemBelong[2].."级") GUI:setVisible(self.view.GemCell2, true) GUI:setVisible(self.view.AddImg2, false) GUI:Item_setItemId(self.view.GemCell2, cfgId) end end function this:SetGem3Model(cfgId) if not cfgId then GUI:setVisible(self.view.GemCell3, false) GUI:setVisible(self.view.AddImg3, true) GUI:setVisible(self.view.gemLevelTxt3, false) else GUI:setVisible(self.view.gemLevelTxt3, true) local cfg=SL:GetConfig("cfg_equip_gem", cfgId) GUI:Text_setString(self.view.gemLevelTxt3,cfg.gemBelong[2].."级") GUI:setVisible(self.view.GemCell3, true) GUI:setVisible(self.view.AddImg3, false) GUI:Item_setItemId(self.view.GemCell3, cfgId) end end function this:CloseEquipUi() GUI:UIPanel_Close("dev/ui/UIForgeGroup/Panel/KLUIForgeGroup/KLUIForgeGroupPanel") GUI:UIPanel_Close("dev/outui/Equip/Panel/KLGemEquipUI/KLGemEquipUIPanel") GUI:UIPanel_Close("dev/outui/Equip/Panel/KLGemInlay/KLGemInlayPanel") end function this:ItemClick(itemControl, itemData) local pos = self:GetPos(itemData.id) SL:OpenTips(pos, itemData.cfgId, itemData.id) end function this:GetPos(itemId) for _, v in pairs(self.bagItems) do if v == itemId then return "bag" end end return "equip" end function this:GetSlateItems() local data = {} local bagItemTabl = SL:GetMetaValue("BAG_DATA")[1] if bagItemTabl then for _, v in pairs(bagItemTabl) do if SL:HasConfig("cfg_equip_stoneBoard", v.cfgId, "id") then --data[SL:GetBagIndex(v.id) - 10000] = v table.insert(data, v) table.insert(self.bagItems, v.id) end end end return SL.Bag:SortItemList(data) end function this:GetGemItems() local data = {} local bagItemTabl = SL:GetMetaValue("BAG_DATA")[1] if bagItemTabl then for _, v in pairs(bagItemTabl) do if SL:HasConfig("cfg_equip_gem", v.cfgId, "id") then --data[SL:GetBagIndex(v.id) - 10000] = v table.insert(data, v) table.insert(self.bagItems, v.id) end end end return SL.Bag:SortItemList(data) end function this:OnClickEquipPanelPos(_, index) local equip = SL:GetMetaValue("EQUIP_TARGET_DATA", 1, index) local realIndex=index if index == E_AppearEquipType.Weapon and equip == nil then equip = SL:GetMetaValue("EQUIP_TARGET_DATA", 1, E_AppearEquipType.TwoHandWeapon) realIndex=E_AppearEquipType.TwoHandWeapon end if equip then InfoManager.gemSlateInfo:ChangeEquipPosId(realIndex) if self.curSelectGemInlayType==E_GemInlayType.Gem then self.bagIndex = nil if table.contains(InfoManager.gemSlateInfo.CanInlayGemEquipPosTbl,tostring(index)) then self.equipPanel:SetSelectIndex(index) self:ClickEquip(equip) self.selectEquipType = index else SL:TipMessage( SL:GetConfig("cfg_string",325).text ,3, NoticeType.NoticeMid ) end else self.bagIndex = nil if table.contains(InfoManager.gemSlateInfo.CanInlaySlateEquipPosTbl,tostring(index)) then self.equipPanel:SetSelectIndex(index) self:ClickEquip(equip) self.selectEquipType = index else SL:TipMessage( SL:GetConfig("cfg_string",326).text ,3, NoticeType.NoticeMid ) end end else if self.curSelectGemInlayType==E_GemInlayType.Gem then SL:TipMessage( SL:GetConfig("cfg_string",327).text ,3, NoticeType.NoticeMid ) else SL:TipMessage( SL:GetConfig("cfg_string",328).text ,3, NoticeType.NoticeMid ) end end end -- 装备名字 function this:SetEquipName(cfgId, strengthLevel) GUI:setVisible(self.view.equipName, true) local equipName = SL:GetConfig('cfg_item', cfgId).name local colorStr = EquipFunc.GetEquipNameColor(cfgId) --if strengthLevel > 0 then -- equipName = equipName .. '+' .. strengthLevel --end GUI:Text_setString(self.view.equipName, string.format("%s", colorStr, equipName)) end function this:ClickEquip(equip) local strengthLevel = EquipFunc.GetEquipStrengthLevel(equip) self:SetEquipName(equip.cfgId, strengthLevel) self:SetEquipModel(equip) InfoManager.gemSlateInfo:SetOptEquip(equip) -- if self.curSelectGemInlayType==E_GemInlayType.Gem then -- else -- end self:RefreshGemSlateShow(self.curSelectGemInlayType) end function this:SchemeToggleChanged(kmlCtrl, eventData, args,isMessage) if args[1] then -- logError("切换方案"..eventData) if eventData==1 then self.curSelectSchemeType=1 GUI:Text_setString(self.view.schemeTxt1,"方案一"..string.format("%s", "(激活)")) GUI:Text_setString(self.view.schemeTxt2,"方案二") if not isMessage then SL:SendLuaNetMsg(LuaMessageIdToSever.REQ_SCHEME_SWITCH,{schemepos=1}) end elseif eventData==2 then self.curSelectSchemeType=2 GUI:Text_setString(self.view.schemeTxt1,"方案一") GUI:Text_setString(self.view.schemeTxt2,"方案二"..string.format("%s", "(激活)")) if not isMessage then SL:SendLuaNetMsg(LuaMessageIdToSever.REQ_SCHEME_SWITCH,{schemepos=2}) end end end end function this:GemSlateToggleChanged(kmlCtrl, eventData, args) if args[1] then local tmpUI=GUI:GetUI("dev/outui/Bag/Panel/KLGemSlateBag/KLGemSlateBagPanel") self.curSelectGemInlayType=eventData if eventData==E_GemInlayType.Gem then self:RefreshGemSlateShow(E_GemInlayType.Gem) if tmpUI then GUI:UIPanel_Close("dev/outui/Bag/Panel/KLGemSlateBag/KLGemSlateBagPanel") GUI:UIPanel_Open("dev/outui/Bag/Panel/KLGemSlateBag/KLGemSlateBagPanel", nil, nil, { itemList = self:GetGemItems(), x = -482, y = 0, itemClick = self.ItemClick, callBackUI = self,bagType=E_GemInlayType.Gem }) end self:OnClickGemCellImg1() elseif eventData==E_GemInlayType.Slate then self:RefreshGemSlateShow(E_GemInlayType.Slate) if tmpUI then GUI:UIPanel_Close("dev/outui/Bag/Panel/KLGemSlateBag/KLGemSlateBagPanel") GUI:UIPanel_Open("dev/outui/Bag/Panel/KLGemSlateBag/KLGemSlateBagPanel", nil, nil, { itemList = self:GetSlateItems(), x = -482, y = 0, itemClick = self.ItemClick, callBackUI = self,bagType=E_GemInlayType.Slate }) end self:OnClickSlateImg() end end end ---@param message {cur:number, data:table} function this:InitSchemeByMsg(id, message) if message.cur==1 then GUI:SetIsOnWithoutNotify(self.view.schemeToggle1,true) self:SchemeToggleChanged(self.view.schemeToggle1,message.cur,{true},true) elseif message.cur==2 then GUI:SetIsOnWithoutNotify(self.view.schemeToggle2,true) self:SchemeToggleChanged(self.view.schemeToggle2,message.cur,{true},true) end GUI:SetIsOnWithoutNotify(self.view.gemBtn,true) end function this:ClosePanel() GUI:UIPanel_Close("dev/ui/UIForgeGroup/Panel/KLUIForgeGroup/KLUIForgeGroupPanel") GUI:UIPanel_Close("dev/outui/Equip/Panel/KLGemEquipUI/KLGemEquipUIPanel") self.equipPanel = nil GUI:UIPanel_Close("dev/outui/Bag/Panel/KLGemSlateBag/KLGemSlateBagPanel") GUI:UIPanel_Close("dev/outui/Equip/Panel/KLGemInlay/KLGemInlayPanel") end function this:OnClickGemCellImg1() InfoManager.gemSlateInfo:ChangeGemPosId(1) local tmpUI=GUI:GetUI("dev/outui/Bag/Panel/KLGemSlateBag/KLGemSlateBagPanel") if not tmpUI then GUI:UIPanel_Close("dev/outui/Equip/Panel/KLGemEquipUI/KLGemEquipUIPanel") self.equipPanel = nil GUI:UIPanel_Open("dev/outui/Bag/Panel/KLGemSlateBag/KLGemSlateBagPanel", nil, nil, { itemList = self:GetGemItems(), x = -482, y = 0, itemClick = self.ItemClick, callBackUI = self,bagType=E_GemInlayType.Gem }) end local inlayGem=InfoManager.gemSlateInfo:GetCurActiveSchemeGem("1") SL:OpenTips("gems", inlayGem) GUI:SetActive(self.view.SelectImg1,true) GUI:SetActive(self.view.SelectImg2,false) GUI:SetActive(self.view.SelectImg3,false) end function this:OnClickGemCellImg2() InfoManager.gemSlateInfo:ChangeGemPosId(2) local tmpUI=GUI:GetUI("dev/outui/Bag/Panel/KLGemSlateBag/KLGemSlateBagPanel") if not tmpUI then GUI:UIPanel_Close("dev/outui/Equip/Panel/KLGemEquipUI/KLGemEquipUIPanel") self.equipPanel = nil GUI:UIPanel_Open("dev/outui/Bag/Panel/KLGemSlateBag/KLGemSlateBagPanel", nil, nil, { itemList = self:GetGemItems(), x = -482, y = 0, itemClick = self.ItemClick, callBackUI = self,bagType=E_GemInlayType.Gem }) end local inlayGem=InfoManager.gemSlateInfo:GetCurActiveSchemeGem("2") SL:OpenTips("gems", inlayGem) GUI:SetActive(self.view.SelectImg1,false) GUI:SetActive(self.view.SelectImg2,true) GUI:SetActive(self.view.SelectImg3,false) end function this:OnClickGemCellImg3() InfoManager.gemSlateInfo:ChangeGemPosId(3) local tmpUI=GUI:GetUI("dev/outui/Bag/Panel/KLGemSlateBag/KLGemSlateBagPanel") if not tmpUI then GUI:UIPanel_Close("dev/outui/Equip/Panel/KLGemEquipUI/KLGemEquipUIPanel") self.equipPanel = nil GUI:UIPanel_Open("dev/outui/Bag/Panel/KLGemSlateBag/KLGemSlateBagPanel", nil, nil, { itemList = self:GetGemItems(), x = -482, y = 0, itemClick = self.ItemClick, callBackUI = self,bagType=E_GemInlayType.Gem }) end local inlayGem=InfoManager.gemSlateInfo:GetCurActiveSchemeGem("3") SL:OpenTips("gems", inlayGem) GUI:SetActive(self.view.SelectImg1,false) GUI:SetActive(self.view.SelectImg2,false) GUI:SetActive(self.view.SelectImg3,true) end function this:OnClickSlateImg() InfoManager.gemSlateInfo:ChangeGemPosId(nil) local tmpUI=GUI:GetUI("dev/outui/Bag/Panel/KLGemSlateBag/KLGemSlateBagPanel") if not tmpUI then GUI:UIPanel_Close("dev/outui/Equip/Panel/KLGemEquipUI/KLGemEquipUIPanel") self.equipPanel = nil GUI:UIPanel_Open("dev/outui/Bag/Panel/KLGemSlateBag/KLGemSlateBagPanel", nil, nil, { itemList = self:GetSlateItems(), x = -482, y = 0, itemClick = self.ItemClick, callBackUI = self,bagType=E_GemInlayType.Slate }) end local inlaySlate=InfoManager.gemSlateInfo:GetCurActiveSchemeGem(nil,true) SL:OpenTips("gems", inlaySlate) end function this:OnClickOptEquip() GUI:UIPanel_Close("dev/outui/Bag/Panel/KLGemSlateBag/KLGemSlateBagPanel") if not self.equipPanel then GUI:UIPanel_Open("dev/outui/Equip/Panel/KLGemEquipUI/KLGemEquipUIPanel", nil, nil, { x = -465, hideTips = true, callBack = self.CloseEquipUi,selectType = self.selectEquipType}, true,function(equipPanel) self.equipPanel = equipPanel end) end end function this:OnClickHelpBtn() local helpCfg=nil if self.curSelectGemInlayType==E_GemInlayType.Gem then helpCfg=SL:GetConfig("cfg_rule_text",1) else helpCfg=SL:GetConfig("cfg_rule_text",2) end if helpCfg then SL:CommonStrTipsMessage({title =helpCfg.menutxt,str=helpCfg.location}) end end function this:OnClickAllGemsInfoBtn() GUI:UIPanel_Open("dev/outui/Equip/Panel/KLGemInlayAllInfo/KLGemInlayAllInfoPanel", nil, nil, { x = -465}) end function this:RefreshRedPoint() -- local gemData = {} -- local slateData = {} -- local bagItemTabl = SL:GetMetaValue("BAG_DATA")[1] -- if bagItemTabl then -- for _, v in pairs(bagItemTabl) do -- if SL:HasConfig("cfg_equip_gem", v.cfgId, "id") then -- table.insert(gemData, v) -- end -- if SL:HasConfig("cfg_equip_stoneBoard", v.cfgId, "id") then -- table.insert(slateData, v) -- end -- end -- end -- GUI:SetActive( self.view.redPointImg1,false) -- GUI:SetActive( self.view.redPointImg2,false) end function this:Close() end return this