public StateFollowing(AmeisenBotStateMachine stateMachine, AmeisenBotConfig config, ObjectManager objectManager, CharacterManager characterManager, IPathfindingHandler pathfindingHandler, IMovementEngine movementEngine) : base(stateMachine) { Config = config; ObjectManager = objectManager; CharacterManager = characterManager; PathfindingHandler = pathfindingHandler; MovementEngine = movementEngine; }
public StateGhost(AmeisenBotStateMachine stateMachine, AmeisenBotConfig config, IOffsetList offsetList, ObjectManager objectManager, CharacterManager characterManager, HookManager hookManager, IPathfindingHandler pathfindingHandler, IMovementEngine movementEngine) : base(stateMachine) { Config = config; ObjectManager = objectManager; CharacterManager = characterManager; HookManager = hookManager; OffsetList = offsetList; PathfindingHandler = pathfindingHandler; MovementEngine = movementEngine; }
public void RegisterMovementEngine(MovementPhase phase, IMovementEngine engine) { if (engines.ContainsKey(phase)) { throw new InvalidOperationException("please add a new MovementPhase in the enum and use it."); } engines[phase] = engine; enginesFasterAccess = engines.OrderBy(x => x.Key).Select(x => x.Value).ToArray(); }
public AmeisenBotStateMachine( string botDataPath, Process wowProcess, AmeisenBotConfig config, XMemory xMemory, IOffsetList offsetList, ObjectManager objectManager, CharacterManager characterManager, HookManager hookManager, EventHookManager eventHookManager, IAmeisenBotCache botCache, IPathfindingHandler pathfindingHandler, IMovementEngine movementEngine, ICombatClass combatClass) { AmeisenLogger.Instance.Log("Starting AmeisenBotStateMachine...", LogLevel.Verbose); BotDataPath = botDataPath; Config = config; XMemory = xMemory; OffsetList = offsetList; ObjectManager = objectManager; CharacterManager = characterManager; HookManager = hookManager; EventHookManager = eventHookManager; BotCache = botCache; LastObjectUpdate = DateTime.Now; LastGhostCheck = DateTime.Now; LastEventPull = DateTime.Now; LastState = AmeisenBotState.None; UnitLootList = new Queue <ulong>(); States = new Dictionary <AmeisenBotState, State>() { { AmeisenBotState.None, new StateNone(this, config) }, { AmeisenBotState.StartWow, new StateStartWow(this, config, wowProcess, xMemory) }, { AmeisenBotState.Login, new StateLogin(this, config, offsetList, characterManager) }, { AmeisenBotState.LoadingScreen, new StateLoadingScreen(this, xMemory, config, objectManager) }, { AmeisenBotState.Idle, new StateIdle(this, config, offsetList, objectManager, characterManager, hookManager, eventHookManager, combatClass, UnitLootList) }, { AmeisenBotState.Dead, new StateDead(this, config, objectManager, hookManager) }, { AmeisenBotState.Ghost, new StateGhost(this, config, offsetList, objectManager, characterManager, hookManager, pathfindingHandler, movementEngine) }, { AmeisenBotState.Following, new StateFollowing(this, config, objectManager, characterManager, pathfindingHandler, movementEngine) }, { AmeisenBotState.Attacking, new StateAttacking(this, config, objectManager, characterManager, hookManager, pathfindingHandler, movementEngine, combatClass) }, { AmeisenBotState.Repairing, new StateRepairing(this, config, objectManager, hookManager, characterManager, pathfindingHandler, movementEngine) }, { AmeisenBotState.Selling, new StateSelling(this, config, objectManager, hookManager, characterManager, pathfindingHandler, movementEngine) }, { AmeisenBotState.Healing, new StateEating(this, config, objectManager, characterManager) }, { AmeisenBotState.InsideAoeDamage, new StateInsideAoeDamage(this, config, objectManager, characterManager, pathfindingHandler, movementEngine) }, { AmeisenBotState.Looting, new StateLooting(this, config, offsetList, objectManager, characterManager, hookManager, pathfindingHandler, movementEngine, UnitLootList) } }; CurrentState = States.First(); CurrentState.Value.Enter(); }
public StateLooting(AmeisenBotStateMachine stateMachine, AmeisenBotConfig config, IOffsetList offsetList, ObjectManager objectManager, CharacterManager characterManager, HookManager hookManager, IPathfindingHandler pathfindingHandler, IMovementEngine movementEngine, Queue <ulong> unitLootList) : base(stateMachine) { Config = config; ObjectManager = objectManager; CharacterManager = characterManager; HookManager = hookManager; OffsetList = offsetList; PathfindingHandler = pathfindingHandler; MovementEngine = movementEngine; UnitLootList = unitLootList; UnitsAlreadyLootedList = new List <ulong>(); }
public WhackSpace(double width, double height, WhackSettings settings) { Width = width; Height = height; _movementEngine = new BaseMovementEngine(Width, Height, MOLE_SIZE); MoleService.Create(settings.MoleEndpoint); AdminService.Create(settings.AdminEndpoint); _moleService = MoleService.Instance; _adminService = AdminService.Instance; }
public StateAttacking(AmeisenBotStateMachine stateMachine, AmeisenBotConfig config, ObjectManager objectManager, CharacterManager characterManager, HookManager hookManager, IPathfindingHandler pathfindingHandler, IMovementEngine movementEngine, ICombatClass combatClass) : base(stateMachine) { Config = config; ObjectManager = objectManager; CharacterManager = characterManager; HookManager = hookManager; PathfindingHandler = pathfindingHandler; MovementEngine = movementEngine; CombatClass = combatClass; // default distance values DistanceToTarget = combatClass == null || combatClass.IsMelee ? 3.0 : 25.0; }
public WhackSpace(double width, double height) { Width = width; Height = height; _movementEngine = new BaseMovementEngine(Width, Height, MOLE_SIZE); var moleEndpoint = ApplicationData.Current.LocalSettings.Values["moleServiceEndpoint"] as string; var adminEndpoint = ApplicationData.Current.LocalSettings.Values["adminServiceEndpoint"] as string; MoleService.Create(moleEndpoint); AdminService.Create(adminEndpoint); _moleService = MoleService.Instance; _adminService = AdminService.Instance; }
public void RegisterMovementEngine(MovementPhase phase, IMovementEngine engine) { }