---@class KLEquipOverlayPanel:UIKmlLuaPanelBase ---@field view KLEquipOverlayPanelView ---@field mainItem @主装备 ---@field assistantItem @副装备 ---@field mainEntry @主装备词条信息 ---@field assistantEntry @副装备词条信息 ---@field showEntryList @已经展示的词条信息列表,用于展示后设置 ---@field lockNum @已锁定词条数量 ---@field bagItems ---@field equipItems ---@field specialCost @消耗的特殊道具 ---@field Cost @普通消耗 ---@field showItemList @显示在背包中的道具 ---@field excludeItemid number @需要排除的id local KLEquipOverlayPanel = class(UIKmlLuaPanelBase) local this = KLEquipOverlayPanel ---创建时调用一次 function this:Init() self.bagItems = {} self.equipItems = {} self.specialCost = {} self.Cost = {} self.excludeItemid = 0 GUI:UIPanel_Open("dev/outui/Bag/Panel/KLOverlayBag/KLOverlayBagPanel", nil, nil, { itemList = self:GetOverlayItem(), x = -482, y = 0, selectList={}, itemClick = self.ItemClick, callBackUI = self },false,function(bagUI) self.bagUI = bagUI end) end ---创建或者刷新界面数据时调用 function this:Refresh() self.mainItem = {} self.assistantItem = {} self.showEntryList = {} GUI:setVisible(self.view.Add_CostItem_panel, false) self.lockNum = 0 GUI:DataListInitData(self.view.entry_list, function() return table.count(self.mainEntry) + table.count(self.assistantEntry) end, function(realIndex) end, function(realIndex, kmlcontrol) end, function(realIndex, kmlcontrol) return self:DataListEntryUpdateFunc(realIndex, kmlcontrol) end) end ---注册UI事件和服务器消息 function this:RegistEvents() GUI:AddOnClickEvent(self.view.closePanel, self, self.ClosePanel) GUI:AddOnClickEvent(self.view.zhu_click, self, self.ClickMainItem) GUI:AddOnClickEvent(self.view.fu_click, self, self.ClickAssistantItem) GUI:AddOnClickEvent(self.view.LuckyClick, self, self.OpenCostItemPanel) GUI:AddOnClickEvent(self.view.rate_sure_btn, self, self.RateSure) GUI:AddOnClickEvent(self.view.CostItem_mask, self, self.RateSure) GUI:Slider_addOnEvent(self.view.rate_item_slider, self, self.SliderChange) GUI:AddOnClickEvent(self.view.rate_item_add, self, function() self:SliderBtn(1) end) GUI:AddOnClickEvent(self.view.rate_item_sub, self, function() self:SliderBtn(-1) end) GUI:AddOnClickEvent(self.view.cost_btn, self, self.COSTBTN) GUI:AddOnClickEvent(self.view.helptip, self, self.HelpTip) GUI:AddOnClickEvent(self.view.Overlay_btn, self, self.Overlay) SL:RegisterLuaNetMsg(LuaMessageIdToClient.RES_EQUIP_OVERLAY, self.RES_EQUIP_OVERLAY, self) --SL:RegisterLUAEvent(LUA_EVENT_BAG_CHANGE_AFTER, self.LUA_EVENT_BAG_CHANGE_AFTER, self) --SL:RegisterLUAEvent(LUA_EVENT_MONEYCHANGE, self.SetCostItem, self) SL:RegisterLUAEvent(LUA_EVENT_FORGE_GROUP_PANEL_CLOSE, self.ClosePanel, self) end function this:LUA_EVENT_BAG_CHANGE_AFTER(_, message) if table.count(self.mainItem) > 0 then self:GetAssistantOverlayItem(self:GetOverlayItem()) else self.bagUI:RefreshItem(self:GetOverlayItem()) end self:SetCostItem() end function this:GetOverlayItem() local data = {} self.bagItems = {} self.equipItems = {} local bagItemTabl = SL:GetMetaValue("BAG_DATA")[1] if bagItemTabl then for _, v in pairs(bagItemTabl) do if SL:HasConfig("cfg_equip_overlay", v.cfgId, "id") then --data[SL:GetBagIndex(v.id) - 10000] = v table.insert(data, v) table.insert(self.bagItems, v.id) end end end bagItemTabl = SL:GetTotalWearEquips()[1] if bagItemTabl then for _, v in pairs(bagItemTabl) do if SL:HasConfig("cfg_equip_overlay", v.cfgId, "id") then table.insert(data, v) table.insert(self.equipItems, v.id) end end end data = self:SortItemList(data) self.showItemList = data return data end function this:GetAssistantOverlayItem(itemlist) local showdata = {} --更改背包中的物品 for i, v in pairs(itemlist) do if v.cfgId == self.mainItem.cfgid and v.id ~= self.mainItem.id and self.excludeItemid ~= v.id then for _, k in pairs(v.itemExtInfo.equipExtInfo.entryAttr) do local isAdd = true for _, l in pairs(self.mainEntry) do if l.entryId == k.entryId then isAdd = false break end end if isAdd then table.insert(showdata, v) break end end end end self.showItemList = self:SortItemList(showdata) self.bagUI:RefreshItem(self.showItemList) end ---@param itemList CommonProtos.Item[] ---@return CommonProtos.Item[] function this:SortItemList(itemList) local bag_str = SL:GetConfig("cfg_global", 6).value local bag_tbl = string.split(bag_str, '#') local bag_hor = tonumber(bag_tbl[1]) local bag_vet = tonumber(bag_tbl[2]) local use_cell_dict = {} local sortItemList = {} local cfg_id, now_hor, now_vet, is_put, hold_vet, hole_hor, item, now_hold_hor, now_judge_hor, now_hold_vet, now_judge_vet, now_cell_index local max_hor = bag_hor + 20 for _, v in pairs(itemList) do cfg_id = v.cfgId now_hor = 1 while now_hor <= max_hor do now_vet = 1 while now_vet <= bag_vet do is_put = true ---@type cfg_item_column item = SL:GetConfig("cfg_item", cfg_id) hold_vet = item.holdGrid[1] hole_hor = item.holdGrid[2] now_hold_hor = 0 while now_hold_hor < hole_hor do now_judge_hor = now_hor + now_hold_hor now_hold_vet = 0 while now_hold_vet < hold_vet do now_judge_vet = now_vet + now_hold_vet now_cell_index = now_judge_hor * 100 + now_judge_vet if use_cell_dict[now_cell_index] or now_judge_vet > bag_vet then is_put = false break end now_hold_vet = now_hold_vet + 1 end if not is_put then break end now_hold_hor = now_hold_hor + 1 end if is_put then break end now_vet = now_vet + 1 end if is_put then break end now_hor = now_hor + 1 end local now_index = now_hor * 100 + now_vet sortItemList[now_index] = v now_hold_hor = 0 while now_hold_hor < hole_hor do now_hold_vet = 0 local now_hold_judge_hor = now_hor + now_hold_hor while now_hold_vet < hold_vet do local now_hold_judge_vet = now_vet + now_hold_vet now_cell_index = now_hold_judge_hor * 100 + now_hold_judge_vet use_cell_dict[now_cell_index] = true now_hold_vet = now_hold_vet + 1 end now_hold_hor = now_hold_hor + 1 end end return sortItemList 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:ClosePanel() GUI:UIPanel_Close("dev/outui/Equip/Panel/KLEquipOverlay/KLEquipOverlayPanel") GUI:UIPanel_Close("dev/ui/UIForgeGroup/Panel/KLUIForgeGroup/KLUIForgeGroupPanel") end function this:Close() if self.timeID then SL:UnSchedule(self.timeID) end if GUI:GetUI("dev/outui/Bag/Panel/KLOverlayBag/KLOverlayBagPanel") then GUI:UIPanel_Close("dev/outui/Bag/Panel/KLOverlayBag/KLOverlayBagPanel") end --GUI:UIPanel_Close("dev/ui/UIForgeGroup/Panel/KLUIForgeGroup/KLUIForgeGroupPanel") end function this:SelectItem(equip_pos, cfgid, id) -- 选择主装备 if not self.mainItem or table.count(self.mainItem) == 0 then local tbl = SL:GetConfig("cfg_equip_overlay", cfgid, "id") self.mainItem = { equip_pos = equip_pos, cfgid = cfgid, id = id, lockEntry = {}, tbl = tbl } GUI:Item_setItemId(self.view.zhu_item, cfgid) local liuGuangId = EquipFunc.GetEquipLiuGuangId(SL:GetPosItemInfo(equip_pos, cfgid, id)) if liuGuangId then GUI:SetStreamAttr(self.view.zhu_item, liuGuangId) else GUI:ResetStreamAttr(self.view.zhu_item) end GUI:setVisible(self.view.zhu_item, true) GUI:setVisible(self.view.zhu_add, false) GUI:setVisible(self.view.zhu_bg_overlay_select, false) GUI:setVisible(self.view.fu_bg_overlay_select, true) self:LoadItemInfo() else -- 选择副装备 if id ~= self.mainItem.id then self.assistantItem = { equip_pos = equip_pos, cfgid = cfgid, id = id } GUI:Item_setItemId(self.view.fu_item, cfgid) local liuGuangId = EquipFunc.GetEquipLiuGuangId(SL:GetPosItemInfo(equip_pos, cfgid, id)) if liuGuangId then GUI:SetStreamAttr(self.view.fu_item, liuGuangId) else GUI:ResetStreamAttr(self.view.fu_item) end GUI:setVisible(self.view.fu_item, true) GUI:setVisible(self.view.fu_add, false) GUI:setVisible(self.view.fu_bg_overlay_select, false) self:LoadOverlayInfo() end end if GUI:GetUI("dev/ui/Tips/Panel/KLUIEquipTips/KLUIEquipTipsPanel") then GUI:UIPanel_Close("dev/ui/Tips/Panel/KLUIEquipTips/KLUIEquipTipsPanel") end end --加载主装备 function this:LoadItemInfo(Entry) if Entry then self.mainEntry = Entry else self.mainEntry = SL:GetPosItemInfo(self.mainItem.equip_pos, self.mainItem.cfgid, self.mainItem.id).itemExtInfo.equipExtInfo.entryAttr end --local liuGuangId = EquipFunc.GetEquipLiuGuangId(equipInfo) --if liuGuangId then -- GUI:SetStreamAttr(self.view.item_model, liuGuangId) --else -- GUI:ResetStreamAttr(self.view.item_model) --end self:RateSure() GUI:setVisible(self.view.item_attr_panel, true) local costItem = self.mainItem.tbl.costItem[1] self.mainItem["rate"] = 0 self.specialCost = {} if costItem then GUI:setVisible(self.view.Luckystone, true) --GUI:setVisible(self.view.LuckystoneName, true) GUI:setVisible(self.view.success_rate2, true) GUI:Item_setItemId(self.view.Luckystone, costItem[1]) self.specialCost = { itemId = costItem[1], count = 0, rate = costItem[2] } --GUI:Text_setString(self.view.LuckystoneName, SL:GetConfig("cfg_item", costItem[1], "id").name) GUI:Text_setString(self.view.success_rate1, tostring(math.floor(self.mainItem.tbl.minRate / 100)) .. "%") GUI:Text_setString(self.view.success_rate2, "+" .. tostring(math.floor(self.mainItem.rate)) .. "%") else GUI:setVisible(self.view.Luckystone, false) --GUI:setVisible(self.view.LuckystoneName, false) GUI:setVisible(self.view.success_rate2, false) GUI:Text_setString(self.view.success_rate1, tostring(math.floor(self.mainItem.tbl.minRate / 100)) .. "%") end self.isHaveAssistant = false GUI:DataListUpdateData(self.view.entry_list) self:SetCostItem() self:GetAssistantOverlayItem(self:GetOverlayItem()) end --副装备放入,加载信息框 function this:LoadOverlayInfo() self.assistantEntry = {} local data = SL:GetPosItemInfo(self.assistantItem.equip_pos, self.assistantItem.cfgid, self.assistantItem.id).itemExtInfo.equipExtInfo.entryAttr for _, v in pairs(data) do local isAdd = true for _, k in pairs(self.mainEntry) do if v.entryId == k.entryId then isAdd = false break end end if isAdd then table.insert(self.assistantEntry, v) end end self.isHaveAssistant = true GUI:DataListUpdateData(self.view.entry_list) local itemData = {} for i, v in pairs(self.showItemList) do if self.assistantItem.id ~= v.id then table.insert(itemData, v) end end self.bagUI:RefreshItem(self:SortItemList(itemData)) end function this:DataListEntryUpdateFunc(realIndex, kmlcontrol) local isMain = realIndex < table.count(self.mainEntry) local data if isMain then data = self.mainEntry[realIndex + 1] if not data then data = self.mainEntry[tostring(realIndex + 1)] end else data = self.assistantEntry[realIndex - table.count(self.mainEntry) + 1] end local tbl = SL:GetConfig("cfg_att_info", data.type, "id") local infoStr = tbl.name if tbl.attShow ~= 0 then infoStr = infoStr .. "+" if tbl.remarks == 1 then infoStr = infoStr .. data.num else infoStr = infoStr .. tostring(data.num / 100) .. "%" end end --local name = self.view.entry_list:GetChildControl(realIndex, "name") local name = GUI:GetChildControl(self.view.entry_list, realIndex, "name") GUI:Text_setString(name, infoStr) --local lock = self.view.entry_list:GetChildControl(realIndex, "lock") local lock = GUI:GetChildControl(self.view.entry_list, realIndex, "lock") --local replace = self.view.entry_list:GetChildControl(realIndex, "replace") local replace = GUI:GetChildControl(self.view.entry_list, realIndex, "replace") --local get = self.view.entry_list:GetChildControl(realIndex, "get") local get = GUI:GetChildControl(self.view.entry_list, realIndex, "get") --local reserve_btn = self.view.entry_list:GetChildControl(realIndex, "reserve_btn") local reserve_btn = GUI:GetChildControl(self.view.entry_list, realIndex, "reserve_btn") --local RE_reserve_btn = self.view.entry_list:GetChildControl(realIndex, "RE_reserve_btn") local RE_reserve_btn = GUI:GetChildControl(self.view.entry_list, realIndex, "RE_reserve_btn") GUI:setVisible(lock, false) if self.isHaveAssistant and isMain then GUI:setVisible(replace, true) GUI:setVisible(get, false) GUI:setVisible(reserve_btn, true) local ControlData = { lock = lock, replace = replace, RE_reserve_btn = RE_reserve_btn, reserve_btn = reserve_btn } GUI:AddOnClickEvent(reserve_btn, self, function() self:Lock(ControlData, data.entryId) end) elseif self.isHaveAssistant and not isMain then GUI:setVisible(get, true) GUI:setVisible(replace, false) GUI:setVisible(reserve_btn, false) GUI:setVisible(RE_reserve_btn, false) else GUI:setVisible(replace, false) GUI:setVisible(get, false) GUI:setVisible(reserve_btn, false) GUI:setVisible(RE_reserve_btn, false) end end --单击主装备取消选择装备 function this:ClickMainItem() if self.mainItem and table.count(self.mainItem) > 0 then self.specialCost = {} self.showItemList = {} self.Cost = {} self.mainItem = {} self.mainEntry = {} GUI:setVisible(self.view.item_attr_panel, false) GUI:setVisible(self.view.zhu_item, false) GUI:setVisible(self.view.zhu_add, true) GUI:setVisible(self.view.zhu_bg_overlay_select, true) GUI:setVisible(self.view.fu_bg_overlay_select, false) GUI:setVisible(self.view.cost_item, false) GUI:Text_setString(self.view.cost_count, "") self.lockNum = 0 self.assistantItem = {} self.assistantEntry = {} GUI:setVisible(self.view.fu_add, true) GUI:setVisible(self.view.fu_item, false) self:GetOverlayItem() self.bagUI:RefreshItem(self.showItemList) end end --单击副装备取消选择副装备 function this:ClickAssistantItem() if table.count(self.assistantItem) == 0 then return end self.assistantItem = {} self.assistantEntry = {} self.lockNum = 0 GUI:setVisible(self.view.fu_add, true) GUI:setVisible(self.view.fu_item, false) GUI:setVisible(self.view.fu_bg_overlay_select, true) self.isHaveAssistant = false GUI:DataListUpdateData(self.view.entry_list) self:GetAssistantOverlayItem(self:GetOverlayItem()) end --词条锁定 function this:Lock(ControlData, entryId) GUI:setVisible(ControlData.replace, false) GUI:setVisible(ControlData.lock, true) GUI:setVisible(ControlData.reserve_btn, false) GUI:setVisible(ControlData.RE_reserve_btn, true) GUI:AddOnClickEvent(ControlData.RE_reserve_btn, self, function() self:ReLock(ControlData, entryId) end) table.insert(self.mainItem.lockEntry, entryId) self.lockNum = self.lockNum + 1 local mainEntryNum = table.count(self.mainEntry) if self.lockNum == mainEntryNum - 1 then for i = 0, mainEntryNum - 1 do --local reserve_btn = self.view.entry_list:GetChildControl(i, "reserve_btn") local reserve_btn = GUI:GetChildControl(self.view.entry_list, i, "reserve_btn") GUI:setVisible(reserve_btn, false) end end self:SetCostItem() end --词条解锁 function this:ReLock(ControlData, entryId) GUI:setVisible(ControlData.replace, true) GUI:setVisible(ControlData.lock, false) GUI:setVisible(ControlData.reserve_btn, true) GUI:setVisible(ControlData.RE_reserve_btn, false) GUI:AddOnClickEvent(ControlData.RE_reserve_btn, self, function() self:Lock(ControlData, entryId) end) for i, v in pairs(self.mainItem.lockEntry) do if v == entryId then table.remove(self.mainItem.lockEntry, i) break end end local mainEntryNum = table.count(self.mainEntry) if self.lockNum == mainEntryNum - 1 then self.lockNum = self.lockNum - 1 for i = 0, mainEntryNum - 1 do --local RE_reserve_btn = self.view.entry_list:GetChildControl(i, "RE_reserve_btn") local RE_reserve_btn = GUI:GetChildControl(self.view.entry_list, i, "RE_reserve_btn") if not GUI:getVisible(RE_reserve_btn) then --local reserve_btn = self.view.entry_list:GetChildControl(i, "reserve_btn") local reserve_btn = GUI:GetChildControl(self.view.entry_list, i, "reserve_btn") GUI:setVisible(reserve_btn, true) end end else self.lockNum = self.lockNum - 1 end self:SetCostItem() end function this:CalculateCost() local data = {} if self.mainItem.tbl.costItem[1] and self.specialCost.count > 0 then table.insert(data, { itemCfgId = self.specialCost.itemId, count = self.specialCost.count }) end return data end function this:SetCostItem() if table.count(self.mainItem) == 0 then return end local str = "" local myCount local Count GUI:setVisible(self.view.cost_item, true) if self.lockNum > 0 then GUI:Item_setItemId(self.view.cost_item, self.mainItem.tbl.lockCost[1]) myCount = SL:GetBagItemCount(self.mainItem.tbl.lockCost[1]) Count = self.mainItem.tbl.lockCost[2] * self.lockNum GUI:Text_setString(self.view.cost_count, tostring(self.mainItem.tbl.lockCost[2] * self.lockNum)) else GUI:Item_setItemId(self.view.cost_item, self.mainItem.tbl.cost[1][1]) myCount = SL:GetBagItemCount(self.mainItem.tbl.cost[1][1]) Count = self.mainItem.tbl.cost[1][2] end local CountText = SL:GetSimpleNumber(Count, 2) local myCountText = SL:GetSimpleNumber(myCount, 2) if Count <= myCount then str = "" .. tostring(myCountText) .. "/" .. tostring(CountText) else str = "" .. tostring(myCountText) .. "/" .. tostring(CountText) end GUI:Text_setString(self.view.cost_count, str) --; --; end function this:OpenCostItemPanel() GUI:setVisible(self.view.Add_CostItem_panel, true) GUI:Slider_setMaxPercent(self.view.rate_item_slider, (self.mainItem.tbl.maxRate - self.mainItem.tbl.minRate) / self.specialCost.rate) GUI:Slider_setPercent(self.view.rate_item_slider, self.specialCost.count and self.specialCost.count or 0) self.bagCount = SL:GetBagItemCount(self.specialCost.itemId) GUI:Item_setItemId(self.view.rate_CostItem, self.specialCost.itemId) local itemName = SL:GetConfig("cfg_item", self.specialCost.itemId, "id").name GUI:Text_setString(self.view.rate_text1, tostring(math.floor(self.mainItem.tbl.minRate / 100)) .. "%") GUI:Text_setString(self.view.rate_text2, "+" .. tostring(math.floor(self.mainItem.rate)) .. "%") GUI:Text_setString(self.view.costItem_name, itemName) GUI:Text_setString(self.view.total_CostItem, "总数:" .. tostring(self.bagCount) .. "") if self.specialCost.count > 0 then GUI:Text_setString(self.view.use_costItem, "消耗:" .. tostring(self.specialCost.count) .. "") else GUI:Text_setString(self.view.use_costItem, "消耗:" .. tostring(self.specialCost.count) .. "") end end function this:RateSure() GUI:setVisible(self.view.Add_CostItem_panel, false) if table.count(self.specialCost) > 0 and self.specialCost.count > 0 then GUI:setVisible(self.view.Luckystonenull, false) else GUI:setVisible(self.view.Luckystonenull, true) end end function this:SliderBtn(index) local value = GUI:Slider_getPercent(self.view.rate_item_slider) if index then value = value + index GUI:Slider_setPercent(self.view.rate_item_slider, value) self:SliderChange(_, value) end end function this:SliderChange(_, value) if not value then value = GUI:Slider_getPercent(self.view.rate_item_slider) end if value < 0 then value = 0 elseif value > self.bagCount then value = self.bagCount GUI:Slider_setPercent(self.view.rate_item_slider, value) -- 打开提示框 SL:CommonItemGetPath(nil, self.specialCost.itemId) elseif value > (self.mainItem.tbl.maxRate - self.mainItem.tbl.minRate) / self.specialCost.rate then value = (self.mainItem.tbl.maxRate - self.mainItem.tbl.minRate) / self.specialCost.rate SL:MessageTip({ id = 31001 }) end self.specialCost.count = math.floor(value) self.mainItem.rate = value * self.specialCost.rate / 100 GUI:Text_setString(self.view.rate_text1, tostring(math.floor(self.mainItem.tbl.minRate / 100)) .. "%") GUI:Text_setString(self.view.rate_text2, "+" .. tostring(math.floor(self.mainItem.rate)) .. "%") GUI:Text_setString(self.view.success_rate1, tostring(math.floor(self.mainItem.tbl.minRate / 100)) .. "%") GUI:Text_setString(self.view.success_rate2, "+" .. tostring(math.floor(self.mainItem.rate)) .. "%") if self.specialCost.count > 0 then GUI:Text_setString(self.view.use_costItem, "消耗:" .. tostring(self.specialCost.count) .. "") else GUI:Text_setString(self.view.use_costItem, "消耗:" .. tostring(self.specialCost.count) .. "") end end function this:Overlay() if table.count(self.mainItem) == 0 or table.count(self.assistantItem) == 0 then SL:TipMessage(SL:GetConfig('cfg_string', 265).text, 1, 1)--"请选择一件装备", return end local assistantItemInfo = SL:GetPosItemInfo(self.assistantItem.equip_pos, self.assistantItem.cfgid, self.assistantItem.id) if EquipFunc.GetEquipAppendLevel(assistantItemInfo) > 0 or not table.isNullOrEmpty(EquipFunc.GetEquipStrengthAttr(assistantItemInfo)) then SL:CommonTipsMessage({ showTips = "当前副装备有强化/追加等级,是否继续叠加?", ui = self,callback = self.SureOverlay }) else local data = { firstItemId = self.mainItem.id, secondItemId = self.assistantItem.id, costItem = self:CalculateCost(), lockEntryIds = self.mainItem.lockEntry } self.excludeItemid = self.assistantItem.id SL:SendLuaNetMsg(LuaMessageIdToSever.REQ_EQUIP_OVERLAY, data) end end function this.SureOverlay(info) local ui = info.ui local data = { firstItemId = ui.mainItem.id, secondItemId = ui.assistantItem.id, costItem = ui:CalculateCost(), lockEntryIds = ui.mainItem.lockEntry } ui.excludeItemid = ui.assistantItem.id SL:SendLuaNetMsg(LuaMessageIdToSever.REQ_EQUIP_OVERLAY, data) end function this:RES_EQUIP_OVERLAY(_, message) self.mainItem.lockEntry = {} if self.timeID then SL:UnSchedule(self.timeID) end if message.result == 1 then GUI:setVisible(self.view.result_success_img, true) GUI:setVisible(self.view.result_fail_img, false) else GUI:setVisible(self.view.result_success_img, false) GUI:setVisible(self.view.result_fail_img, true) end self.timeID = SL:ScheduleOnce(1, function() GUI:setVisible(self.view.result_success_img, false) GUI:setVisible(self.view.result_fail_img, false) end) self:ClickAssistantItem() if message.result == 1 then self:LoadItemInfo(message.firstEntries) else self:LoadItemInfo() end --logError(table.count(message.firstEntries)) end function this:COSTBTN() if table.count(self.mainItem) == 0 or table.count(self.assistantItem) == 0 then SL:TipMessage(SL:GetConfig('cfg_string', 265).text, 1, 1)--"请选择一件装备", return end if self.lockNum > 0 then SL:CommonItemGetPath(nil, self.mainItem.tbl.lockCost[1]) else SL:CommonItemGetPath(nil, self.mainItem.tbl.cost[1][1]) end end function this:HelpTip() local helpCfg = SL:GetConfig("cfg_rule_text", 10, "id") if helpCfg then SL:CommonStrTipsMessage({ title = helpCfg.menutxt, str = helpCfg.location }) end end return this