diff --git a/resource/tasks.json b/resource/tasks.json index 6b9c1003f3..0b25d6b4a6 100644 --- a/resource/tasks.json +++ b/resource/tasks.json @@ -5829,6 +5829,17 @@ "ClueGiveTo1stConfirm" ] }, + "InfrastOperListTabSkillUnClicked": { + "action": "ClickSelf", + "roi": [ + 818, + 0, + 128, + 115 + ], + "templThreshold": 0.7, + "rearDelay": 1500 + }, "BattleStageName": { "algorithm": "OcrDetect", "cache": false, diff --git a/resource/template/InfrastOperListTabSkillUnClicked.png b/resource/template/InfrastOperListTabSkillUnClicked.png new file mode 100644 index 0000000000..9e99e5bbb2 Binary files /dev/null and b/resource/template/InfrastOperListTabSkillUnClicked.png differ diff --git a/src/MeoAssistant/InfrastAbstractTask.cpp b/src/MeoAssistant/InfrastAbstractTask.cpp index 31a514d209..303aca0f54 100644 --- a/src/MeoAssistant/InfrastAbstractTask.cpp +++ b/src/MeoAssistant/InfrastAbstractTask.cpp @@ -152,10 +152,22 @@ void asst::InfrastAbstractTask::await_swipe() sleep(extra_delay); } -bool asst::InfrastAbstractTask::swipe_and_select_custom_opers() +bool asst::InfrastAbstractTask::swipe_and_select_custom_opers(bool order_by_skill) { LogTraceFunction; + { + json::value cb_info = basic_info_with_what("CustomInfrastRoomOperators"); + auto& details = cb_info["details"]; + details["names"] = json::array(m_current_room_custom_config.names); + details["candidates"] = json::array(m_current_room_custom_config.candidates); + callback(AsstMsg::SubTaskExtraInfo, cb_info); + } + + if (order_by_skill) { + ProcessTask(*this, { "InfrastOperListTabSkillUnClicked", "Stop" }).run(); + } + while (true) { if (need_exit()) { return false; diff --git a/src/MeoAssistant/InfrastAbstractTask.h b/src/MeoAssistant/InfrastAbstractTask.h index 5d9adc6fb7..4169b64250 100644 --- a/src/MeoAssistant/InfrastAbstractTask.h +++ b/src/MeoAssistant/InfrastAbstractTask.h @@ -37,7 +37,7 @@ namespace asst void async_swipe_of_operlist(bool reverse = false); void await_swipe(); bool is_use_custom_config(); - bool swipe_and_select_custom_opers(); + bool swipe_and_select_custom_opers(bool order_by_skill = true); bool select_custom_opers(); virtual bool click_bottom_left_tab(); // 点击进入设施后,左下角的tab(我也不知道这玩意该叫啥) diff --git a/src/MeoAssistant/InfrastDormTask.cpp b/src/MeoAssistant/InfrastDormTask.cpp index a995df9b0f..9c0530e4a4 100644 --- a/src/MeoAssistant/InfrastDormTask.cpp +++ b/src/MeoAssistant/InfrastDormTask.cpp @@ -47,7 +47,7 @@ bool asst::InfrastDormTask::_run() click_clear_button(); if (is_use_custom_config()) { - swipe_and_select_custom_opers(); + swipe_and_select_custom_opers(false); } else { opers_choose(); @@ -218,4 +218,4 @@ bool asst::InfrastDormTask::opers_choose() // // ProcessTask task(*this, { "InfrastDormConfirmButton" }); // return task.run(); -// } \ No newline at end of file +// } diff --git a/src/MeoAsstGui/Helper/AsstProxy.cs b/src/MeoAsstGui/Helper/AsstProxy.cs index b693d6ccf1..e6bbf1fca9 100644 --- a/src/MeoAsstGui/Helper/AsstProxy.cs +++ b/src/MeoAsstGui/Helper/AsstProxy.cs @@ -909,6 +909,10 @@ namespace MeoAsstGui case "UnsupportedLevel": copilotModel.AddLog(Localization.GetString("UnsupportedLevel"), LogColor.Error); break; + + case "CustomInfrastRoomOperators": + mainModel.AddLog(subTaskDetails["names"].ToString()); + break; } } diff --git a/src/MeoAsstGui/Resources/Localizations/en-us.xaml b/src/MeoAsstGui/Resources/Localizations/en-us.xaml index 9584f61ea4..65816cbbd8 100644 --- a/src/MeoAsstGui/Resources/Localizations/en-us.xaml +++ b/src/MeoAsstGui/Resources/Localizations/en-us.xaml @@ -259,7 +259,7 @@ - Depot tool alpha + Depot tool beta This function is still a test version, please check if the recognition result is correct before using it. If there is an error, please submit the issue by compressing the debug/depot folder in the working path. Start to identify Export to Arkplanner diff --git a/src/MeoAsstGui/Resources/Localizations/ja-jp.xaml b/src/MeoAsstGui/Resources/Localizations/ja-jp.xaml index e9a070783a..ca98d0ca34 100644 --- a/src/MeoAsstGui/Resources/Localizations/ja-jp.xaml +++ b/src/MeoAsstGui/Resources/Localizations/ja-jp.xaml @@ -36,7 +36,8 @@ 製造所-源石の欠片 製造所-中級SoC 宿舎の空き位置で信頼を上げる - 作業中のオペレーターを宿舎に移動しない + 作業中のオペレーターを宿舎に移動しない + 源石の欠片は自動で補充する 一般モード @@ -134,15 +135,18 @@ 純正源石使用確認画面で理性が1回復するのを待って、純正源石を使用します FP交換 - 優先購入(中国名/セミコロンで区切) - ブラックリスト(中国名/セミコロンで区切) + 優先購入(中国名/セミコロンで区切) + + ブラックリスト(中国名/セミコロンで区切) + 飲み物はいかがですか🍷?ドクター ドローンの使用 最小化した際にトレイに表示 重要な通知をポップアップする - 代替ステージを選択可能にする + 代替ステージを選択可能にする + 当日開放されないステージを隠す スタート画面に表示する便利ボタン ステージ名を入力する @@ -183,12 +187,15 @@ MAAとエミューレータを終了し、PCをスリープさせる* シャットダウン* - Link Start! + Link Start! + 止める - 理性剤使用数 - 割る源石の数* + 理性剤使用数 + + 割る源石の数* + 周回数指定* 素材を限定 ドロップ数 @@ -199,12 +206,17 @@ 現在/前回 - イベント終了 + イベント終了 + 1-7 - 龍門幣-6/5(CE-6) - 購買資格証-5(AP-5) - アーツ学-5(CA-5) - 作戦記録-6/5(LS-6) + 龍門幣-6/5(CE-6) + + 購買資格証-5(AP-5) + + アーツ学-5(CA-5) + + 作戦記録-6/5(LS-6) + 医療/重装SoC・初 医療/重装SoC・中 @@ -259,7 +271,7 @@ - 倉庫アイテム認識 Alpha + 倉庫アイテム認識 beta この機能はまだテスト版です。倉庫を開いた後、素材のタブを選択してから認識を行い、結果が正しいかどうか確認してください。エラーが発生した場合は、debug/depotフォルダを作業パスに圧縮して、issueを提出してください。 認識開始 Arkplannerへ出力 @@ -278,12 +290,14 @@ ファイル選択 攻略ファイルはマウスで直接ドラッグして取り込むことがきます(o゚v゚)ノ 自動編成 - 自動編成では、一時的に「戦術要員」オペレーターを認識できません + 自動編成では、一時的に「戦術要員」オペレーターを認識できません + 開始 攻略ファイル・シェアステーション - ビデオハイパーリンク + ビデオハイパーリンク + ヒント: @@ -322,7 +336,8 @@ すべてのタスクが完了しました! クライアントを開くのに失敗しました。構成ファイルを確認してください エラー発生 - 戻った + 戻った + ドロップ認識エラー Penguin-Statsへのアップロードをあきらめました ステージ報酬がないため停止します @@ -410,4 +425,4 @@ つ、次は飲みすぎないようにしないと…… Hello World! - + \ No newline at end of file diff --git a/src/MeoAsstGui/Resources/Localizations/zh-cn.xaml b/src/MeoAsstGui/Resources/Localizations/zh-cn.xaml index 8950126345..4ec01141fa 100644 --- a/src/MeoAsstGui/Resources/Localizations/zh-cn.xaml +++ b/src/MeoAsstGui/Resources/Localizations/zh-cn.xaml @@ -38,7 +38,7 @@ 宿舍空余位置蹭信赖 不将已进驻的干员放入宿舍 源石碎片自动补货 - 启用自定义基建配置 + 启用自定义基建配置(Alpha) 自定义基建配置文件 自定义基建配置文件解析错误! 自定义基建配置: @@ -264,7 +264,7 @@ - 仓库识别 Alpha + 仓库识别 beta 该功能尚处于测试阶段,请检查结果是否准确再行使用。若有误,欢迎打包 debug/depot 文件夹后向我们提交 issue ~ 开始识别 导出至企鹅物流刷图规划