fix: 修复在战斗列表展开时,部分情形下无法正确关闭战斗列表

This commit is contained in:
status102
2023-12-13 20:08:32 +08:00
parent 677bc8dabf
commit b838e26686
6 changed files with 88 additions and 25 deletions

View File

@@ -4069,40 +4069,89 @@
"StartButton1"
]
},
"FightSeries-Default-1": {
"action": "DoNothing",
"roi": [
945,
580,
100,
50
]
},
"FightSeries-Icon": {
"action": "ClickSelf",
"roi": [
945,
580,
100,
50
],
"next": [
"FightSeries-List-1"
]
},
"FightSeries-List": {
"template": "empty.png",
"action": "ClickSelf",
"FightSeries-Indicator": {
"roi": [
950,
180,
100,
50,
400
]
},
"FightSeries-Open": {
"baseTask": "FightSeries-Icon",
"template": "FightSeries-Icon.png",
"action": "ClickSelf",
"sub": [
"FightSeries-Indicator"
]
},
"FightSeries-List-1": {
"baseTask": "FightSeries-List",
"template": "FightSeries-List-1.png"
"algorithm": "JustReturn",
"action": "ClickRect",
"specificRect": [
965,
505,
70,
55
]
},
"FightSeries-List-2": {
"algorithm": "JustReturn",
"action": "ClickRect",
"specificRect": [
965,
445,
70,
55
]
},
"FightSeries-List-3": {
"algorithm": "JustReturn",
"action": "ClickRect",
"specificRect": [
965,
383,
70,
55
]
},
"FightSeries-List-4": {
"algorithm": "JustReturn",
"action": "ClickRect",
"specificRect": [
965,
320,
70,
55
]
},
"FightSeries-List-5": {
"algorithm": "JustReturn",
"action": "ClickRect",
"specificRect": [
965,
260,
70,
55
]
},
"FightSeries-List-6": {
"algorithm": "JustReturn",
"action": "ClickRect",
"specificRect": [
965,
200,
70,
50
]
},
"StartButton1": {
"doc": "绑定插件调整连战次数",
@@ -16333,4 +16382,4 @@
"Stop"
]
}
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 779 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.4 KiB

View File

@@ -1,5 +1,6 @@
#include "FightTimesPlugin.h"
#include "Controller/Controller.h"
#include "Task/ProcessTask.h"
bool asst::FightTimesPlugin::verify(AsstMsg msg, const json::value& details) const
@@ -13,13 +14,27 @@ bool asst::FightTimesPlugin::verify(AsstMsg msg, const json::value& details) con
bool asst::FightTimesPlugin::_run()
{
const static std::string FightSeriesOpenTask = "FightSeries-Indicator";
const static std::string FightSeriesValidTask = "FightSeries-Icon";
auto img = ctrler()->get_image();
// 目前也可以做成subtask但是给以后糊屎留个地方
bool result = ProcessTask(*this, { "FightSeries-Default-1", "FightSeries-Icon", "Stop" }).run();
auto check_status_task = ProcessTask(*this, { FightSeriesOpenTask, FightSeriesValidTask });
check_status_task.set_reusable_image(img).set_retry_times(0);
if (!result) {
return false;
if (!check_status_task.run()) { // 认为是外服,无法使用连续战斗
inited = true;
return true;
}
if (check_status_task.get_last_task_name() == FightSeriesValidTask) { // 连续战斗次数选择列表未打开
auto task = ProcessTask(*this, { "FightSeries-Open" });
task.set_reusable_image(img);
if (!task.run()) {
return false;
}
}
ProcessTask(*this, { "FightSeries-List-1" }).run();
inited = true;
return true;
}

View File

@@ -14,7 +14,6 @@ namespace asst
virtual bool _run() override;
private:
// 是否成功初始化为1次
bool inited = false;
bool inited = false; // 是否成功初始化为1次初始化后后续不再检测 (实现调整次数后移除此变量
};
}