mower-ng/mower/solvers/infra/clue/get_clue_count.py
zhbaor c86e7ac651
All checks were successful
ci/woodpecker/push/check_format Pipeline was successful
场景图导航改写为solver
2025-01-30 10:14:54 +08:00

31 lines
1.1 KiB
Python

from mower.solvers.infra.base_mixin import BaseMixin
from mower.solvers.infra.enter_room import EnterRoomSolver
from mower.utils import config
from mower.utils.log import logger
from mower.utils.recognize import Scene
from mower.utils.solver import BaseSolver
class GetClueCountSolver(BaseSolver, BaseMixin):
solver_name = "线索数量"
def run(self) -> int:
self.res = -1
super().run()
if self.res >= 0:
return self.res
raise ValueError("未找到线索数量")
def transition(self) -> bool:
if self.find("meeting_arrange_check_in"):
self.res = self.read_screen(
config.recog.img, limit=10, cord=((476, 985), (519, 1020))
)
logger.info(f"当前拥有线索数量为{self.res}")
return True
elif (scene := self.scene()) == Scene.INFRA_CONFIDENTIAL:
self.cback(1, id="infra_back")
elif scene in self.waiting_scene:
self.waiting_solver()
else:
EnterRoomSolver().run("meeting", detail=False)