From 480f46b9eab8daf2f5cc77ce545ea447a3e83b75 Mon Sep 17 00:00:00 2001 From: MistEO Date: Sat, 26 Nov 2022 03:47:05 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=88=A0=E9=99=A4=E8=AE=BF=E9=97=AE?= =?UTF-8?q?=E5=A5=BD=E5=8F=8B=E4=BB=BB=E5=8A=A1=EF=BC=8C=E6=95=B4=E5=90=88?= =?UTF-8?q?=E8=BF=9B=E5=95=86=E5=BA=97=E4=BB=BB=E5=8A=A1=E4=B8=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/Golang/MaaAssistantArknights/maa/task.go | 3 - src/MeoAssistant/Assistant.cpp | 2 - src/MeoAssistant/MeoAssistant.vcxproj | 2 - src/MeoAssistant/MeoAssistant.vcxproj.filters | 6 -- src/MeoAssistant/Task/Interface/MallTask.cpp | 12 +++ src/MeoAssistant/Task/Interface/MallTask.h | 3 + src/MeoAssistant/Task/Interface/VisitTask.cpp | 25 ----- src/MeoAssistant/Task/Interface/VisitTask.h | 23 ----- src/MeoAsstGui/Helper/AsstProxy.cs | 19 +--- .../ViewModels/TaskQueueViewModel.cs | 92 +------------------ tools/TestCaller/main.cpp | 2 - 11 files changed, 20 insertions(+), 169 deletions(-) delete mode 100644 src/MeoAssistant/Task/Interface/VisitTask.cpp delete mode 100644 src/MeoAssistant/Task/Interface/VisitTask.h diff --git a/src/Golang/MaaAssistantArknights/maa/task.go b/src/Golang/MaaAssistantArknights/maa/task.go index 5946065a82..5c06cd3284 100644 --- a/src/Golang/MaaAssistantArknights/maa/task.go +++ b/src/Golang/MaaAssistantArknights/maa/task.go @@ -26,8 +26,6 @@ func (t TaskType) String() string { return "Recruit" case Infrast: return "Infrast" - case Visit: - return "Visit" case Mall: return "Mall" case Award: @@ -48,7 +46,6 @@ var TaskFixed = map[string]TaskType{ "Fight": Fight, "Recruit": Recruit, "Infrast": Infrast, - "Visit": Visit, "Mall": Mall, "Award": Award, "Roguelike": Roguelike, diff --git a/src/MeoAssistant/Assistant.cpp b/src/MeoAssistant/Assistant.cpp index 020a3e0b61..9729c75495 100644 --- a/src/MeoAssistant/Assistant.cpp +++ b/src/MeoAssistant/Assistant.cpp @@ -19,7 +19,6 @@ #include "Task/Interface/RecruitTask.h" #include "Task/Interface/RoguelikeTask.h" #include "Task/Interface/StartUpTask.h" -#include "Task/Interface/VisitTask.h" #ifdef ASST_DEBUG #include "Task/Interface/DebugTask.h" #endif @@ -119,7 +118,6 @@ asst::Assistant::TaskId asst::Assistant::append_task(const std::string& type, co ASST_ASSISTANT_APPEND_TASK_FROM_STRING_IF_BRANCH(StartUpTask) ASST_ASSISTANT_APPEND_TASK_FROM_STRING_IF_BRANCH(CloseDownTask) ASST_ASSISTANT_APPEND_TASK_FROM_STRING_IF_BRANCH(AwardTask) - ASST_ASSISTANT_APPEND_TASK_FROM_STRING_IF_BRANCH(VisitTask) ASST_ASSISTANT_APPEND_TASK_FROM_STRING_IF_BRANCH(MallTask) ASST_ASSISTANT_APPEND_TASK_FROM_STRING_IF_BRANCH(InfrastTask) ASST_ASSISTANT_APPEND_TASK_FROM_STRING_IF_BRANCH(RecruitTask) diff --git a/src/MeoAssistant/MeoAssistant.vcxproj b/src/MeoAssistant/MeoAssistant.vcxproj index d603c6e50d..f41e9a5d5d 100644 --- a/src/MeoAssistant/MeoAssistant.vcxproj +++ b/src/MeoAssistant/MeoAssistant.vcxproj @@ -94,7 +94,6 @@ - @@ -205,7 +204,6 @@ - diff --git a/src/MeoAssistant/MeoAssistant.vcxproj.filters b/src/MeoAssistant/MeoAssistant.vcxproj.filters index 074b222f84..793534b597 100644 --- a/src/MeoAssistant/MeoAssistant.vcxproj.filters +++ b/src/MeoAssistant/MeoAssistant.vcxproj.filters @@ -255,9 +255,6 @@ 源文件\Task\Interface - - 源文件\Task\Interface - 源文件\Utils @@ -581,9 +578,6 @@ 源文件\Task\Interface - - 源文件\Task\Interface - 源文件\Utils\Platform diff --git a/src/MeoAssistant/Task/Interface/MallTask.cpp b/src/MeoAssistant/Task/Interface/MallTask.cpp index 6caa8ad2c8..55a9aff04a 100644 --- a/src/MeoAssistant/Task/Interface/MallTask.cpp +++ b/src/MeoAssistant/Task/Interface/MallTask.cpp @@ -1,20 +1,26 @@ #include "MallTask.h" +#include "Task/Miscellaneous/CreditFightTask.h" #include "Task/Miscellaneous/CreditShoppingTask.h" #include "Task/ProcessTask.h" asst::MallTask::MallTask(const AsstCallback& callback, void* callback_arg) : InterfaceTask(callback, callback_arg, TaskType), + m_visit_task_ptr(std::make_shared(m_callback, m_callback_arg, TaskType)), + m_credit_fight_task_ptr(std::make_shared(callback, callback_arg, TaskType)), m_mall_task_ptr(std::make_shared(callback, callback_arg, TaskType)), m_shopping_first_task_ptr(std::make_shared(callback, callback_arg, TaskType)), m_shopping_task_ptr(std::make_shared(callback, callback_arg, TaskType)), m_shopping_force_task_ptr(std::make_shared(callback, callback_arg, TaskType)) { + m_visit_task_ptr->set_tasks({ "VisitBegin" }); m_mall_task_ptr->set_tasks({ "MallBegin" }); m_shopping_first_task_ptr->set_enable(false).set_retry_times(1); m_shopping_task_ptr->set_enable(false).set_retry_times(1); m_shopping_force_task_ptr->set_enable(false).set_retry_times(1); + m_subtasks.emplace_back(m_visit_task_ptr); + m_subtasks.emplace_back(m_credit_fight_task_ptr); m_subtasks.emplace_back(m_mall_task_ptr); m_subtasks.emplace_back(m_shopping_first_task_ptr); m_subtasks.emplace_back(m_shopping_task_ptr); @@ -75,5 +81,11 @@ bool asst::MallTask::set_params(const json::value& params) m_shopping_task_ptr->set_enable(false); m_shopping_force_task_ptr->set_enable(false); } + + if (!m_running) { + bool credit_fight = params.get("credit_fight", false); + m_credit_fight_task_ptr->set_enable(credit_fight); + } + return true; } diff --git a/src/MeoAssistant/Task/Interface/MallTask.h b/src/MeoAssistant/Task/Interface/MallTask.h index 284cac11c2..f8060f0a86 100644 --- a/src/MeoAssistant/Task/Interface/MallTask.h +++ b/src/MeoAssistant/Task/Interface/MallTask.h @@ -4,6 +4,7 @@ namespace asst { class ProcessTask; + class CreditFightTask; class CreditShoppingTask; class MallTask final : public InterfaceTask @@ -17,6 +18,8 @@ namespace asst virtual bool set_params(const json::value& params) override; private: + std::shared_ptr m_visit_task_ptr = nullptr; + std::shared_ptr m_credit_fight_task_ptr = nullptr; std::shared_ptr m_mall_task_ptr = nullptr; std::shared_ptr m_shopping_first_task_ptr = nullptr; std::shared_ptr m_shopping_task_ptr = nullptr; diff --git a/src/MeoAssistant/Task/Interface/VisitTask.cpp b/src/MeoAssistant/Task/Interface/VisitTask.cpp deleted file mode 100644 index dea533cd3d..0000000000 --- a/src/MeoAssistant/Task/Interface/VisitTask.cpp +++ /dev/null @@ -1,25 +0,0 @@ -#include "VisitTask.h" - -#include - -#include "Task/Miscellaneous/CreditFightTask.h" -#include "Task/ProcessTask.h" - -asst::VisitTask::VisitTask(const AsstCallback& callback, void* callback_arg) - : InterfaceTask(callback, callback_arg, TaskType), - m_visit_task_ptr(std::make_shared(m_callback, m_callback_arg, TaskType)), - m_credit_fight_task_ptr(std::make_shared(callback, callback_arg, TaskType)) -{ - m_visit_task_ptr->set_tasks({ "VisitBegin" }); - m_subtasks.emplace_back(m_visit_task_ptr)->set_ignore_error(false); - m_subtasks.emplace_back(m_credit_fight_task_ptr); -} - -bool asst::VisitTask::set_params(const json::value& params) -{ - bool credit_fight = params.get("credit_fight", false); - - m_credit_fight_task_ptr->set_enable(credit_fight); - - return true; -} diff --git a/src/MeoAssistant/Task/Interface/VisitTask.h b/src/MeoAssistant/Task/Interface/VisitTask.h deleted file mode 100644 index 58a891b33e..0000000000 --- a/src/MeoAssistant/Task/Interface/VisitTask.h +++ /dev/null @@ -1,23 +0,0 @@ -#pragma once -#include "Task/InterfaceTask.h" - -namespace asst -{ - class ProcessTask; - class CreditFightTask; - - class VisitTask final : public InterfaceTask - { - public: - inline static constexpr std::string_view TaskType = "Visit"; - - VisitTask(const AsstCallback& callback, void* callback_arg); - virtual ~VisitTask() override = default; - - virtual bool set_params(const json::value& params) override; - - private: - std::shared_ptr m_visit_task_ptr = nullptr; - std::shared_ptr m_credit_fight_task_ptr = nullptr; - }; -} diff --git a/src/MeoAsstGui/Helper/AsstProxy.cs b/src/MeoAsstGui/Helper/AsstProxy.cs index 80ea33a1a6..45fc40ad15 100644 --- a/src/MeoAsstGui/Helper/AsstProxy.cs +++ b/src/MeoAsstGui/Helper/AsstProxy.cs @@ -1133,7 +1133,6 @@ namespace MeoAsstGui FightRemainingSanity, Recruit, Infrast, - Visit, Mall, Award, Roguelike, @@ -1261,31 +1260,19 @@ namespace MeoAsstGui return id != 0 && AsstStart(); } - /// - /// 访问好友。 - /// - /// 是否借助战作战。 - /// 是否成功。 - public bool AsstAppendVisit(bool credit_fight) - { - var task_params = new JObject(); - task_params["credit_fight"] = credit_fight; - AsstTaskId id = AsstAppendTaskWithEncoding("Visit", task_params); - _latestTaskId[TaskType.Visit] = id; - return id != 0; - } - /// /// 领取信用及商店购物。 /// + /// 是否信用战斗。 /// 是否购物。 /// 优先购买列表。 /// 黑名单列表。 /// 是否在信用溢出时无视黑名单 /// 是否成功。 - public bool AsstAppendMall(bool with_shopping, string[] first_list, string[] blacklist, bool force_shopping_if_credit_full) + public bool AsstAppendMall(bool credit_fight, bool with_shopping, string[] first_list, string[] blacklist, bool force_shopping_if_credit_full) { var task_params = new JObject(); + task_params["credit_fight"] = credit_fight; task_params["shopping"] = with_shopping; task_params["buy_first"] = new JArray { first_list }; task_params["blacklist"] = new JArray { blacklist }; diff --git a/src/MeoAsstGui/ViewModels/TaskQueueViewModel.cs b/src/MeoAsstGui/ViewModels/TaskQueueViewModel.cs index baa2bb48e4..c20fe45641 100644 --- a/src/MeoAsstGui/ViewModels/TaskQueueViewModel.cs +++ b/src/MeoAsstGui/ViewModels/TaskQueueViewModel.cs @@ -16,7 +16,6 @@ using System.Collections.Generic; using System.Collections.ObjectModel; using System.Diagnostics; using System.IO; -using System.Linq; using System.Runtime.InteropServices; using System.Text; using System.Text.RegularExpressions; @@ -172,92 +171,17 @@ namespace MeoAsstGui } } - // TODO: Delete this. - - /// - /// Delete old configurations. - /// Note that this feature ought to be removed in later versions. - /// - public void DeleteOldConfig() - { - string[] saved_list_name_1 = new string[] - { - "WakeUp", "Recruiting", "Base", "Combat", "Visiting", "Mall", "Mission", "AutoRoguelike", - }; - foreach (var name in saved_list_name_1) - { - string local_name = Localization.GetString(name); - string check = ViewStatusStorage.Get("TaskQueue." + local_name + ".IsChecked", string.Empty); - string order = ViewStatusStorage.Get("TaskQueue.Order." + local_name, string.Empty); - if (check != string.Empty) - { - ViewStatusStorage.Set("TaskQueue." + name + ".IsChecked", check); - } - - if (order != string.Empty) - { - ViewStatusStorage.Set("TaskQueue.Order." + name, order); - } - } - - string[] saved_list_name_2 = new string[] - { - "Mfg", "Trade", "Control", "Power", "Reception", "Office", "Dorm", - }; - foreach (var name in saved_list_name_2) - { - string local_name = Localization.GetString(name); - string check = ViewStatusStorage.Get("Infrast." + local_name + ".IsChecked", string.Empty); - string order = ViewStatusStorage.Get("Infrast.Order." + local_name, string.Empty); - if (check != string.Empty) - { - ViewStatusStorage.Set("Infrast." + name + ".IsChecked", check); - } - - if (order != string.Empty) - { - ViewStatusStorage.Set("Infrast.Order." + name, order); - } - } - - string[] old_list_name = new string[] - { - "开始唤醒", "自动公招", "基建换班", "刷理智", "访问好友", "收取信用及购物", "领取日常奖励", "自动肉鸽", - "宿舍", "制造站", "贸易站", "发电站", "会客室", "办公室", "控制中枢", - "開始喚醒", "自動公招", "基建換班", "刷理智", "訪問好友", "收取信用及購物", "領取日常獎勵", "自動肉鴿", - "宿舍", "製造站", "貿易站", "發電站", "會客室", "辦公室", "控制中樞", - "ウェイクアップ", "公開求人", "基地仕事", "作戦", "戦友訪問", "FP交換", "報酬受取", "自動ローグ", - "宿舎", "製造所", "貿易所", "発電所", "応接室", "事務所", "制御中枢", - "웨이크업", "공개모집", "기반시설 교대", "작전", "친구 방문", "상점", "일일 퀘스트 보상을 수집", "통합전략", - "숙소", "제조소", "무역소", "발전소", "응접실", "사무실", "제어 센터", - "🍸💃💃", "🍸🍺🍻", "🍺🍸🍺", "🍸🍷", "🍺🍸🍷", "🍻🍺🍸🍻", "🍺🍸🕺🍸", "🍺🍸🍸", - "🍻💃", "🕺🍺", "🍺🍺", "🍺🍸", "🍺🍻", "🕺🍸", "🍻🍸🍻", - "Login", "Recruit", "Visit Friends", "Credit Store", "Collect mission rewards", "Auto I.S.", - "Manufacturing Station", "Trade Post", "Power Station", "Reception Room", "Control Center", - }; - foreach (var name in old_list_name) - { - ViewStatusStorage.Delete("TaskQueue." + name + ".IsChecked"); - ViewStatusStorage.Delete("TaskQueue.Order." + name); - ViewStatusStorage.Delete("Infrast." + name + ".IsChecked"); - ViewStatusStorage.Delete("Infrast.Order." + name); - } - } - /// /// Initializes items. /// public void InitializeItems() { - DeleteOldConfig(); - string[] task_list = new string[] { "WakeUp", "Recruiting", "Base", "Combat", - "Visiting", "Mall", "Mission", "AutoRoguelike", @@ -285,7 +209,7 @@ namespace MeoAsstGui var vm = new DragItemViewModel(Localization.GetString(task), task, "TaskQueue."); - if (!parsed || order < 0) + if (!parsed || order < 0 || order >= temp_order_list.Count) { non_order_list.Add(vm); } @@ -698,10 +622,6 @@ namespace MeoAsstGui { ret &= appendRecruit(); } - else if (item.OriginalName == "Visiting") - { - ret &= appendVisit(); - } else if (item.OriginalName == "Mall") { ret &= appendMall(); @@ -905,14 +825,6 @@ namespace MeoAsstGui settings.CustomInfrastEnabled, settings.CustomInfrastFile, CustomInfrastPlanIndex); } - private bool appendVisit() - { - var settings = _container.Get(); - var asstProxy = _container.Get(); - - return asstProxy.AsstAppendVisit(settings.CreditFightTaskEnabled); - } - private bool appendMall() { var settings = _container.Get(); @@ -929,7 +841,7 @@ namespace MeoAsstGui black_list[i] = black_list[i].Trim(); } - return asstProxy.AsstAppendMall(settings.CreditShopping, buy_first, black_list, settings.CreditForceShoppingIfCreditFull); + return asstProxy.AsstAppendMall(settings.CreditFightTaskEnabled, settings.CreditShopping, buy_first, black_list, settings.CreditForceShoppingIfCreditFull); } private bool appendRecruit() diff --git a/tools/TestCaller/main.cpp b/tools/TestCaller/main.cpp index 50ec9790e8..dcd52875aa 100644 --- a/tools/TestCaller/main.cpp +++ b/tools/TestCaller/main.cpp @@ -68,8 +68,6 @@ int main([[maybe_unused]] int argc, char** argv) } )"); - AsstAppendTask(ptr, "Visit", nullptr); - AsstAppendTask(ptr, "Mall", R"( { "shopping": true,