mirror of
https://github.com/MaaAssistantArknights/MaaAssistantArknights.git
synced 2026-07-16 01:40:46 +08:00
feat: 删除访问好友任务,整合进商店任务中
This commit is contained in:
@@ -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,
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -94,7 +94,6 @@
|
||||
<ClInclude Include="Task\Interface\RecruitTask.h" />
|
||||
<ClInclude Include="Task\Interface\RoguelikeTask.h" />
|
||||
<ClInclude Include="Task\Interface\StartUpTask.h" />
|
||||
<ClInclude Include="Task\Interface\VisitTask.h" />
|
||||
<ClInclude Include="Task\Miscellaneous\AutoRecruitTask.h" />
|
||||
<ClInclude Include="Task\Miscellaneous\BattleFormationTask.h" />
|
||||
<ClInclude Include="Task\Miscellaneous\BattleProcessTask.h" />
|
||||
@@ -205,7 +204,6 @@
|
||||
<ClCompile Include="Task\Interface\RecruitTask.cpp" />
|
||||
<ClCompile Include="Task\Interface\RoguelikeTask.cpp" />
|
||||
<ClCompile Include="Task\Interface\StartUpTask.cpp" />
|
||||
<ClCompile Include="Task\Interface\VisitTask.cpp" />
|
||||
<ClCompile Include="Task\Miscellaneous\AutoRecruitTask.cpp" />
|
||||
<ClCompile Include="Task\Miscellaneous\BattleFormationTask.cpp" />
|
||||
<ClCompile Include="Task\Miscellaneous\BattleProcessTask.cpp" />
|
||||
|
||||
@@ -255,9 +255,6 @@
|
||||
<ClInclude Include="Task\Interface\StartUpTask.h">
|
||||
<Filter>源文件\Task\Interface</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="Task\Interface\VisitTask.h">
|
||||
<Filter>源文件\Task\Interface</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="Utils\Demangle.hpp">
|
||||
<Filter>源文件\Utils</Filter>
|
||||
</ClInclude>
|
||||
@@ -581,9 +578,6 @@
|
||||
<ClCompile Include="Task\Interface\StartUpTask.cpp">
|
||||
<Filter>源文件\Task\Interface</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="Task\Interface\VisitTask.cpp">
|
||||
<Filter>源文件\Task\Interface</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="Utils\Platform\PlatformPosix.cpp">
|
||||
<Filter>源文件\Utils\Platform</Filter>
|
||||
</ClCompile>
|
||||
|
||||
@@ -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<ProcessTask>(m_callback, m_callback_arg, TaskType)),
|
||||
m_credit_fight_task_ptr(std::make_shared<CreditFightTask>(callback, callback_arg, TaskType)),
|
||||
m_mall_task_ptr(std::make_shared<ProcessTask>(callback, callback_arg, TaskType)),
|
||||
m_shopping_first_task_ptr(std::make_shared<CreditShoppingTask>(callback, callback_arg, TaskType)),
|
||||
m_shopping_task_ptr(std::make_shared<CreditShoppingTask>(callback, callback_arg, TaskType)),
|
||||
m_shopping_force_task_ptr(std::make_shared<CreditShoppingTask>(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;
|
||||
}
|
||||
|
||||
@@ -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<ProcessTask> m_visit_task_ptr = nullptr;
|
||||
std::shared_ptr<CreditFightTask> m_credit_fight_task_ptr = nullptr;
|
||||
std::shared_ptr<ProcessTask> m_mall_task_ptr = nullptr;
|
||||
std::shared_ptr<CreditShoppingTask> m_shopping_first_task_ptr = nullptr;
|
||||
std::shared_ptr<CreditShoppingTask> m_shopping_task_ptr = nullptr;
|
||||
|
||||
@@ -1,25 +0,0 @@
|
||||
#include "VisitTask.h"
|
||||
|
||||
#include <utility>
|
||||
|
||||
#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<ProcessTask>(m_callback, m_callback_arg, TaskType)),
|
||||
m_credit_fight_task_ptr(std::make_shared<CreditFightTask>(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;
|
||||
}
|
||||
@@ -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<ProcessTask> m_visit_task_ptr = nullptr;
|
||||
std::shared_ptr<CreditFightTask> m_credit_fight_task_ptr = nullptr;
|
||||
};
|
||||
}
|
||||
@@ -1133,7 +1133,6 @@ namespace MeoAsstGui
|
||||
FightRemainingSanity,
|
||||
Recruit,
|
||||
Infrast,
|
||||
Visit,
|
||||
Mall,
|
||||
Award,
|
||||
Roguelike,
|
||||
@@ -1261,31 +1260,19 @@ namespace MeoAsstGui
|
||||
return id != 0 && AsstStart();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 访问好友。
|
||||
/// </summary>
|
||||
/// <param name="credit_fight">是否借助战作战。</param>
|
||||
/// <returns>是否成功。</returns>
|
||||
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;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 领取信用及商店购物。
|
||||
/// </summary>
|
||||
/// <param name="credit_fight">是否信用战斗。</param>
|
||||
/// <param name="with_shopping">是否购物。</param>
|
||||
/// <param name="first_list">优先购买列表。</param>
|
||||
/// <param name="blacklist">黑名单列表。</param>
|
||||
/// <param name="force_shopping_if_credit_full">是否在信用溢出时无视黑名单</param>
|
||||
/// <returns>是否成功。</returns>
|
||||
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 };
|
||||
|
||||
@@ -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.
|
||||
|
||||
/// <summary>
|
||||
/// Delete old configurations.
|
||||
/// Note that this feature ought to be removed in later versions.
|
||||
/// </summary>
|
||||
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);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Initializes items.
|
||||
/// </summary>
|
||||
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<SettingsViewModel>();
|
||||
var asstProxy = _container.Get<AsstProxy>();
|
||||
|
||||
return asstProxy.AsstAppendVisit(settings.CreditFightTaskEnabled);
|
||||
}
|
||||
|
||||
private bool appendMall()
|
||||
{
|
||||
var settings = _container.Get<SettingsViewModel>();
|
||||
@@ -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()
|
||||
|
||||
@@ -68,8 +68,6 @@ int main([[maybe_unused]] int argc, char** argv)
|
||||
}
|
||||
)");
|
||||
|
||||
AsstAppendTask(ptr, "Visit", nullptr);
|
||||
|
||||
AsstAppendTask(ptr, "Mall", R"(
|
||||
{
|
||||
"shopping": true,
|
||||
|
||||
Reference in New Issue
Block a user