mirror of
https://github.com/MaaAssistantArknights/MaaAssistantArknights.git
synced 2026-07-15 17:30:27 +08:00
feat: 在gui添加“借助战作战”选项
This commit is contained in:
@@ -7,11 +7,20 @@
|
||||
|
||||
asst::VisitTask::VisitTask(AsstCallback callback, void* callback_arg)
|
||||
: PackageTask(std::move(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>(m_callback, m_callback_arg))
|
||||
m_visit_task_ptr(std::make_shared<ProcessTask>(m_callback, m_callback_arg, TaskType)),
|
||||
m_credit_fight_task_ptr(std::make_shared<CreditFightTask>(m_callback, m_callback_arg))
|
||||
{
|
||||
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)->set_ignore_error(false);
|
||||
}
|
||||
|
||||
bool asst::VisitTask::set_params(const json::value& params)
|
||||
{
|
||||
bool credit_fight_task_enabled = params.get("credit_fight_task_enabled", false);
|
||||
|
||||
if (credit_fight_task_enabled) {
|
||||
m_subtasks.emplace_back(m_credit_fight_task_ptr)->set_ignore_error(false);
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -12,6 +12,8 @@ namespace asst
|
||||
VisitTask(AsstCallback callback, void* callback_arg);
|
||||
virtual ~VisitTask() override = default;
|
||||
|
||||
virtual bool set_params(const json::value& params) override;
|
||||
|
||||
static constexpr const char* TaskType = "Visit";
|
||||
|
||||
private:
|
||||
|
||||
@@ -1246,10 +1246,13 @@ namespace MeoAsstGui
|
||||
/// <summary>
|
||||
/// 访问好友。
|
||||
/// </summary>
|
||||
/// <param name="credit_fight_task_enabled">是否借助战作战。</param>
|
||||
/// <returns>是否成功。</returns>
|
||||
public bool AsstAppendVisit()
|
||||
public bool AsstAppendVisit(bool credit_fight_task_enabled)
|
||||
{
|
||||
TaskId id = AsstAppendTaskWithEncoding("Visit");
|
||||
var task_params = new JObject();
|
||||
task_params["credit_fight_task_enabled"] = credit_fight_task_enabled;
|
||||
TaskId id = AsstAppendTaskWithEncoding("Visit", task_params);
|
||||
_latestTaskId[TaskType.Visit] = id;
|
||||
return id != 0;
|
||||
}
|
||||
|
||||
@@ -16,19 +16,26 @@
|
||||
<RowDefinition Height="Auto" />
|
||||
</Grid.RowDefinitions>
|
||||
<CheckBox
|
||||
Margin="-200,10,10,10"
|
||||
Margin="-300,10,10,10"
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Center"
|
||||
Block.TextAlignment="Center"
|
||||
Content="{DynamicResource SocialPtShop}"
|
||||
IsChecked="{Binding CreditShopping}" />
|
||||
<CheckBox
|
||||
Margin="200,10,10,10"
|
||||
Margin="0,10,10,10"
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Center"
|
||||
Block.TextAlignment="Center"
|
||||
Content="{DynamicResource ForceShoppingIfCreditFull}"
|
||||
IsChecked="{Binding CreditForceShoppingIfCreditFull}" />
|
||||
<CheckBox
|
||||
Margin="300,10,10,10"
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Center"
|
||||
Block.TextAlignment="Center"
|
||||
Content="{DynamicResource CreditFight}"
|
||||
IsChecked="{Binding CreditFightTaskEnabled}" />
|
||||
<StackPanel
|
||||
Grid.Row="1"
|
||||
HorizontalAlignment="Center"
|
||||
|
||||
@@ -1006,6 +1006,22 @@ namespace MeoAsstGui
|
||||
}
|
||||
}
|
||||
|
||||
/* 访问好友设置 */
|
||||
private bool _creditFightTaskEnabled = Convert.ToBoolean(ViewStatusStorage.Get("Visit.CreditFightTaskEnabled", bool.FalseString));
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets a value indicating whether credit fight task is enabled.
|
||||
/// </summary>
|
||||
public bool CreditFightTaskEnabled
|
||||
{
|
||||
get => _creditFightTaskEnabled;
|
||||
set
|
||||
{
|
||||
SetAndNotify(ref _creditFightTaskEnabled, value);
|
||||
ViewStatusStorage.Set("Visit.CreditFightTaskEnabled", value.ToString());
|
||||
}
|
||||
}
|
||||
|
||||
/* 信用商店设置 */
|
||||
|
||||
private bool _creditShopping = Convert.ToBoolean(ViewStatusStorage.Get("Mall.CreditShopping", bool.TrueString));
|
||||
|
||||
@@ -700,7 +700,7 @@ namespace MeoAsstGui
|
||||
}
|
||||
else if (item.OriginalName == "Visiting")
|
||||
{
|
||||
ret &= asstProxy.AsstAppendVisit();
|
||||
ret &= appendVisit();
|
||||
}
|
||||
else if (item.OriginalName == "Mall")
|
||||
{
|
||||
@@ -900,6 +900,14 @@ 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>();
|
||||
|
||||
Reference in New Issue
Block a user