shawenguan 2 năm trước cách đây
mục cha
commit
b1e4d958ee
1 tập tin đã thay đổi với 43 bổ sung3 xóa
  1. 43 3
      Scripts/gandart/gandartComposite.js

+ 43 - 3
Scripts/gandart/gandartComposite.js

@@ -42,7 +42,9 @@ const GandartConstKey = {
     CompositeTaskList1: 'lkGandartCompositeTaskList1',
     CompositeTaskList2: 'lkGandartCompositeTaskList2',
     CompositeTaskId: 'lkGandartCompositeTaskId',
-    CompositeTaskName: 'lkGandartCompositeTaskName',
+    CompositeTaskSearchEnable: 'lkIsCompositeTaskSearchEnable',
+    CompostieTaskSearchKey: 'lkGandartCompostieTaskSearchKey',
+    CompositeTaskNameDisplay: 'lkGandartCompositeTaskNameDisplay',
     CompositeCountArray: 'lkGandartCompositeCountArray',
     CompositeTaskMateList: 'lkGandartCompositeTaskMateList',
     CompositeTaskFinalList: 'lkGandartCompositeTaskFinalList',
@@ -131,22 +133,50 @@ async function all() {
                 let taskInfo = taskLst[i];
                 if (taskInfo.id == taskId) {
                     found = true;
-                    lk.setVal(GandartConstKey.CompositeTaskName, taskInfo.compositeTaskName);
+                    lk.setVal(GandartConstKey.CompositeTaskNameDisplay, taskInfo.compositeTaskName);
                     await tryToExecCompositeTask(taskInfo.id, taskInfo);
                     break;
                 }
             }
             if (!found) {
                 lk.log(`当前任务列表找不到相应任务[${taskId}]`);
+                await checkTrySearchToCompositeTask(taskLst);
             }
         } else {
-            lk.log('请设置合成任务ID,否则无法进行下一步骤');
+            lk.log('没有设置合成任务ID,接下来检查是否进行检索合成');
+            await checkTrySearchToCompositeTask(taskLst);
         }
     }
     lk.msg('');
     lk.done();
 }
 
+async function checkTrySearchToCompositeTask(taskLst) {
+    if (!isTaskNameSearchMode()) {
+        return;
+    }
+    lk.log('开始尝试通过名称来检索任务进行合成');
+    let keyName = lk.getVal(GandartConstKey.CompostieTaskSearchKey);
+    if (lk.isEmpty(keyName)) {
+        lk.log(`当前关键字为空`);
+        return;
+    }
+    let found = false;
+    for (let i = 0; i < taskLst.length; i++) {
+        let taskInfo = taskLst[i];
+        let taskName = taskInfo.compositeTaskName;
+        if (taskName.indexOf(keyName) > -1) {
+            found = true;
+            lk.setVal(GandartConstKey.CompositeTaskNameDisplay, taskName);
+            await tryToExecCompositeTask(taskInfo.id, taskInfo);
+        }
+    }
+
+    if (!found) {
+        lk.log(`当前关键字[${keyName}]没有检索到相关的任务`);
+    }
+}
+
 function getCompositeTaskListStatus() {
     let val = lk.getVal(GandartConstKey.CompositeTaskListStatus);
     if (lk.isEmpty(val)) {
@@ -205,6 +235,16 @@ function getWillCompositeTaskId() {
     return val;
 }
 
+function isTaskNameSearchMode() {
+    let enabled = lk.getVal(GandartConstKey.CompositeTaskSearchEnable);
+    if (!lk.isEmpty(enabled)) {
+        enabled = JSON.parse(enabled);
+    } else {
+        enabled = true;
+    }
+    return enabled;
+}
+
 function printMaterialGroupsInfo(materialGroups) {
     let detailStr = '组合详情如下:\n';
     for (let i = 0; i < materialGroups.length; i++) {