选人后左滑到最左边

This commit is contained in:
EightyDollars 2024-11-02 15:57:21 +08:00
parent 5165c635aa
commit 49a8a9b1da
2 changed files with 24 additions and 3 deletions

View file

@ -28,6 +28,7 @@ class RIIC_ChooseSolver(SceneGraphSolver):
# self.final_check = False
# self.check = []
self.tmp_data = None
self.tmp_left = None
self.wait_time = wait_time
self.room = room
@ -58,16 +59,23 @@ class RIIC_ChooseSolver(SceneGraphSolver):
agent_name = self.agent[0]
if agent_name == "Free":
RIIC_FreeFillSolver().run()
self.choosed.append(RIIC_FreeFillSolver().run())
self.agent = None
return
agents = dict(operator_room_select(config.recog.img))
for i in agents:
if self.is_choosed(agents[i]):
if i not in self.agents and i not in self.choosed:
self.tap_element("choose_agent/clear", interval=0.1)
return
if agent_name in agents.keys():
if self.is_choosed(agents[agent_name]):
logger.debug(f"干员选好:{self.agent}")
self.choosed.append(agent_name)
self.tmp_left = None
self.agent = None
return
@ -80,6 +88,16 @@ class RIIC_ChooseSolver(SceneGraphSolver):
)
return
elif self.agent[1]: # 筛一下职业
logger.info(f"{self.tmp_left} {list(agents.keys())[0]} ")
if self.tmp_left is None:
self.tmp_left = list(agents.keys())[0]
self.swipe_noinertia((1000, 540), (300, 0))
return
elif self.tmp_left != list(agents.keys())[0]:
self.swipe_noinertia((1000, 540), (1000, 0))
self.tmp_left = list(agents.keys())[0]
return
if agent_name == "阿米娅":
tag = "ALL"
else:
@ -88,7 +106,7 @@ class RIIC_ChooseSolver(SceneGraphSolver):
self.agent[1] = False
self.sleep(self.interval)
return
return
if list(agents.keys())[-1] == self.tmp_data or list(agents.keys())[-1] is None:
raise ValueError(f"选择干员: {self.agent}失败 滑动次数过多")
@ -155,6 +173,7 @@ class RIIC_ChooseSolver(SceneGraphSolver):
self.sleep(self.check_wait_time())
self.tap_element("confirm_blue")
self.success = True
elif self.find("room_detail"):
if self.success:
return True

View file

@ -15,7 +15,9 @@ class RIIC_FreeFillSolver(SceneGraphSolver):
self.agent = None
self.filterd = False
self.tap_time = datetime.now() # 临时解决
return super().run()
super().run()
return self.agent
def fill_agent(self):
if (self.tap_time - datetime.now()).total_seconds() > 180: