mower-ng/mower/solvers/sss/sss_choose.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.2 KiB
Python

from mower.solvers.fight.battle_choose.battle_agent_choose import (
BattleAgentChooseSolver,
)
from mower.solvers.fight.battle_choose.battle_fill_choose import BattleFillChooseSolver
from mower.solvers.fight.battle_choose.choose_support import ChooseSupportSolver
from mower.utils import config
from mower.utils.recognize import Scene
from mower.utils.solver import BaseSolver
class SSSChooseSolver(BaseSolver):
solver_name = "保全选人"
def run(self):
copilot = config.works["sss"]
opers = [oper.model_dump(exclude_none=True) for oper in copilot.opers]
tool_men = copilot.tool_men.model_dump()
blacklist = copilot.blacklist
lack = BattleAgentChooseSolver().run(opers)[0]
for profession, number in tool_men.items():
BattleFillChooseSolver().run(profession, number, blacklist)
super().run()
ChooseSupportSolver().run(lack)
def transition(self):
if (scene := self.scene()) == Scene.OPERATOR_AGENT_SELECT:
self.ctap("choose_agent/battle_confirm", 3)
elif scene in self.waiting_scene:
self.waiting_solver()
else:
return True