chore: 新增 AUTO 选项

This commit is contained in:
uye
2025-05-05 17:01:41 +08:00
parent 93a56339e5
commit 416ce337a2
5 changed files with 29 additions and 12 deletions

View File

@@ -26,12 +26,10 @@ bool asst::FightSeriesAdjustPlugin::_run()
int exceeded_num = get_exceeded_num();
if (exceeded_num <= 6 && exceeded_num > 1) {
ProcessTask(*this, { "FightSeries-List-" + std::to_string(exceeded_num - 1) }).run();
auto modified_next = original_close_stone_page_next;
modified_next.insert(modified_next.begin(), "Fight@StartButton1");
Task.get("Fight@CloseStonePage")->next = modified_next;
set_close_stone_page_next(true);
}
else {
Task.get("Fight@CloseStonePage")->next = original_close_stone_page_next;
set_close_stone_page_next(false);
}
return true;
}

View File

@@ -12,12 +12,15 @@ public:
virtual bool verify(AsstMsg msg, const json::value& details) const override;
void set_close_stone_page_next(bool enable) const { Task.get("Fight@CloseStonePage")->next = enable ? modified_close_stone_page_next : original_close_stone_page_next; };
protected:
virtual bool _run() override;
private:
// 临时处理
std::vector<std::string> original_close_stone_page_next = { "Fight@StageSNReturnFlag", "Fight@Stop" };
std::vector<std::string> modified_close_stone_page_next = { "Fight@StartButton1", "Fight@StageSNReturnFlag", "Fight@Stop" };
int get_exceeded_num() const;
};
}

View File

@@ -73,11 +73,19 @@ bool asst::FightTask::set_params(const json::value& params)
const int expiring_medicine = params.get("expiring_medicine", 0);
const int stone = params.get("stone", 0);
const int times = params.get("times", INT_MAX);
const int series = params.get("series", 1);
if (series < 1 || series > 6) {
int series = params.get("series", 1);
m_fight_series_adjust_plugin_ptr->set_close_stone_page_next(false);
m_fight_series_adjust_plugin_ptr->set_enable(false);
if (series == 1000) {
m_fight_series_adjust_plugin_ptr->set_enable(true);
series = 6;
}
else if (series < 1 || series > 6) {
Log.error("Invalid series");
return false;
}
bool enable_penguin = params.get("report_to_penguin", false);
bool enable_yituliu = params.get("report_to_yituliu", false);
std::string penguin_id = params.get("penguin_id", "");

View File

@@ -103,10 +103,16 @@ public class FightSettingsUserControlModel : TaskViewModel
{ "炭", "SK-5" },
};
/// <summary>
/// Gets or private sets the list of series.
/// </summary>
public List<int> SeriesList { get; private set; } = Enumerable.Range(1, 6).ToList();
public Dictionary<string, int> SeriesList { get; } = new()
{
{ "AUTO", 1000 },
{ "6", 6 },
{ "5", 5 },
{ "4", 4 },
{ "3", 6 },
{ "2", 2 },
{ "1", 1 },
};
public string?[] Stages => [Stage1, Stage2, Stage3];
@@ -465,7 +471,7 @@ public class FightSettingsUserControlModel : TaskViewModel
}
}
private int _series = ConfigurationHelper.GetValue(ConfigurationKeys.SeriesQuantity, 1);
private int _series = ConfigurationHelper.GetValue(ConfigurationKeys.SeriesQuantity, 1000);
/// <summary>
/// Gets or sets the max number of times.

View File

@@ -170,7 +170,9 @@
IsHitTestVisible="{c:Binding !FightTaskRunning,
Source={x:Static helper:Instances.TaskQueueViewModel}}"
ItemsSource="{Binding SeriesList}"
SelectedValue="{Binding Series}" />
SelectedValue="{Binding Series}"
DisplayMemberPath="Key"
SelectedValuePath="Value" />
</StackPanel>
</Grid>
<Grid Grid.Row="3">