perf: 优化肉鸽投资操作速度

This commit is contained in:
status102
2024-02-03 10:12:36 +08:00
parent 0e98780abf
commit 2a9bbe6831
14 changed files with 220 additions and 5 deletions

View File

@@ -22,6 +22,7 @@
#include "Task/Roguelike/RoguelikeSkillSelectionTaskPlugin.h"
#include "Task/Roguelike/RoguelikeStageEncounterTaskPlugin.h"
#include "Task/Roguelike/RoguelikeStrategyChangeTaskPlugin.h"
#include "Task/Roguelike/RoguelikeInvestTaskPlugin.h"
#include "Utils/Logger.hpp"
@@ -40,6 +41,7 @@ asst::RoguelikeTask::RoguelikeTask(const AsstCallback& callback, Assistant* inst
m_roguelike_task_ptr->register_plugin<RoguelikeSettlementTaskPlugin>(m_roguelike_config_ptr);
m_debug_plugin_ptr = m_roguelike_task_ptr->register_plugin<RoguelikeDebugTaskPlugin>(m_roguelike_config_ptr);
m_roguelike_task_ptr->register_plugin<RoguelikeShoppingTaskPlugin>(m_roguelike_config_ptr)->set_retry_times(0);
m_roguelike_task_ptr->register_plugin<RoguelikeInvestTaskPlugin>(m_roguelike_config_ptr);
m_custom_start_plugin_ptr =
m_roguelike_task_ptr->register_plugin<RoguelikeCustomStartTaskPlugin>(m_roguelike_config_ptr);
@@ -96,6 +98,8 @@ bool asst::RoguelikeTask::set_params(const json::value& params)
// 是否凹指定干员开局直升
m_roguelike_config_ptr->set_start_with_elite_two(params.get("start_with_elite_two", false));
m_roguelike_config_ptr->set_only_start_with_elite_two(params.get("only_start_with_elite_two", false));
m_roguelike_config_ptr->set_invest_maximum(params.get("investments_count", INT_MAX));
m_roguelike_config_ptr->set_invest_stop_when_full(params.get("stop_when_investment_full", false));
// 设置层数选点策略,相关逻辑在 RoguelikeStrategyChangeTaskPlugin
{
@@ -144,7 +148,6 @@ bool asst::RoguelikeTask::set_params(const json::value& params)
params.get("investment_enabled", true) ? INT_MAX : 0);
m_roguelike_task_ptr->set_times_limit("StageTraderRefreshWithDice",
params.get("refresh_trader_with_dice", false) ? INT_MAX : 0);
m_roguelike_task_ptr->set_times_limit("StageTraderInvestConfirm", params.get("investments_count", INT_MAX));
if (params.get("stop_when_investment_full", false)) {
constexpr int InvestLimit = 999;