Wowxel/core/MainAgent.py

37 lines
1.3 KiB
Python

from core.Config import Config
from core.Monitor import Monitor
from bots.battleground.battlegroundAgent import BattlegroundAgent
from bots.fishing.FishingAgent import FishingAgent
from bots.fighting.FightingAgent import FightingAgent
from bots.idling.IdlingAgent import IdlingAgent
from core.Player import Player, PLAYER_STATE
class MainAgent:
def __init__(self) -> None:
self.config = Config()
self.monitor = Monitor(self.config)
self.playerAgent = Player(self.monitor, self.config)
self.idlingBot = IdlingAgent(self.monitor, self.playerAgent)
self.fightingAgent = FightingAgent(self.monitor, self.playerAgent)
self.fishingBot = FishingAgent(self.monitor, self.playerAgent)
self.bgFarming = BattlegroundAgent(self.monitor, self.playerAgent)
self.monitor.startScreenCaptureThread()
# Start idling agent at the construction of the mainAgent for now
self.idlingBot.run()
def startFishBot(self):
self.playerAgent.changeState(PLAYER_STATE.FISHING)
self.fishingBot.run()
def startBgBot(self):
self.playerAgent.changeState(PLAYER_STATE.BG_FARMING)
self.bgFarming.run()
def toggleFightingAgent(self):
if (self.fightingAgent is True):
self.fightingAgent.stopFighting()
else:
self.fightingAgent.run()