diff --git a/repo/js/FullyAutoAndSemiAutoTools/README.md b/repo/js/FullyAutoAndSemiAutoTools/README.md index 73d659232..851b7a8c2 100644 --- a/repo/js/FullyAutoAndSemiAutoTools/README.md +++ b/repo/js/FullyAutoAndSemiAutoTools/README.md @@ -208,6 +208,7 @@ sequenceDiagram | team_seven_elements | 文本 | 七元素队伍(矿物,火,水,风,雷,草,冰,岩) | 按顺序填写 | | is_debug | 复选框 | 开发者模式(详细日志) | 调试时开启 | ## 语法说明 +- 语法风格请保持一致 ,否则会导致路径会出现异常运行 如使用 地产->nam=1 同时保持 地产->nam=队伍名1 则路径会出现异常运行 - order_rules 执行顺序规则 1. `rootName` 根目录下层文件夹名称,`parentName` 父目录名称,`name` 文件夹名称 2. 建议语法:`rootName->parentName->name=1,rootName->parentName->name2=2` diff --git a/repo/js/FullyAutoAndSemiAutoTools/main.js b/repo/js/FullyAutoAndSemiAutoTools/main.js index 7b7b53844..ad0128956 100644 --- a/repo/js/FullyAutoAndSemiAutoTools/main.js +++ b/repo/js/FullyAutoAndSemiAutoTools/main.js @@ -714,23 +714,6 @@ async function initRun(config_run) { } - function groupByParentAndName(list) { - const map = new Map(); - - list.forEach(item => { - // const key = `${item.parentName}->${item.name}`; - const key = generatedKey(item); - const key_parent = generatedKey(item, true); - if (!map.has(key)) map.set(key, []); - map.get(key).push(item); - if (!map.has(key_parent)) map.set(key_parent, []); - map.get(key_parent).push(item); - }); - - return Array.from(map.values()); // 转成二维数组 [[], []] - } - - let groups = groupByParentAndName(matchedPaths); //锄地队对应 try { const teamHoeGroundStr = settings.team_hoe_ground || "parentName->name=key" @@ -756,10 +739,15 @@ async function initRun(config_run) { team_name: "" }] teamHoeGroundList.filter(item => item.uid === Record.uid).forEach(item => { - const key = generatedKey(item); - const key_parent = generatedKey(item, true); - team.HoeGroundMap.set(key,item.team_name); - team.HoeGroundMap.set(key_parent,item.team_name); + if (item.root_name) { + const key = generatedKey(item); + team.HoeGroundMap.set(key, item.team_name); + + } else { + const key_parent = generatedKey(item, true); + team.HoeGroundMap.set(key_parent, item.team_name); + } + }) log.info(`{0}加载完成`, json_path_name.HoeGround) } catch (e) { @@ -792,15 +780,35 @@ async function initRun(config_run) { order: 0 }] orderList.filter(item => item.uid === Record.uid).forEach(item => { - const key = generatedKey(item); - const key_parent = generatedKey(item, true); - orderMap.set(key, item.order) - orderMap.set(key_parent, item.order) + if (item.root_name) { + const key = generatedKey(item); + orderMap.set(key, item.order) + } else { + const key_parent = generatedKey(item, true); + orderMap.set(key_parent, item.order) + } }) log.info(`{0}加载完成`, json_path_name.PathOrder) } catch (e) { } + function groupByParentAndName(list) { + const map = new Map(); + + list.forEach(item => { + // const key = `${item.parentName}->${item.name}`; + const key = generatedKey(item); + // const key_parent = generatedKey(item, true); + if (!map.has(key)) map.set(key, []); + map.get(key).push(item); + // if (!map.has(key_parent)) map.set(key_parent, []); + // map.get(key_parent).push(item); + }); + + return Array.from(map.values()); // 转成二维数组 [[], []] + } + + let groups = groupByParentAndName(matchedPaths); groups.sort((a, b) => { const a_key = generatedKey(a) const b_key = generatedKey(b) @@ -811,10 +819,21 @@ async function initRun(config_run) { } return orderA - orderB; }) - + const asMap = new Map() groups.forEach(group => { const groupOne = group[0] - const groupKey = generatedKey(groupOne); + let groupKey_parent = generatedKey(groupOne, true); + if (orderMap.has(groupKey_parent) || team.HoeGroundMap.has(groupKey_parent)) { + let groupKey = generatedKey(groupOne); + asMap.set(groupKey, groupKey_parent) + } + }) + groups.forEach(group => { + const groupOne = group[0] + let groupKey = generatedKey(groupOne); + if (asMap.has(groupKey)) { + groupKey = asMap.get(groupKey) + } needRunMap.set(groupKey, { paths: group, parent_name: groupOne.parentName,