internal Defense(IIsxeveProvider isxeveProvider, IEntityProvider entityProvider, IShip ship, IMeCache meCache, IDefensiveConfiguration defensiveConfiguration, ISocial social, IDrones drones, IAlerts alerts, ISafespots safespots, IMovement movement) { _isxeveProvider = isxeveProvider; _entityProvider = entityProvider; _ship = ship; _meCache = meCache; _defensiveConfiguration = defensiveConfiguration; _social = social; _drones = drones; _alerts = alerts; _safespots = safespots; _movement = movement; ModuleManager.ModulesToPulse.Add(this); ModuleName = "Defense"; PulseFrequency = 1; }
public Attackers(IMeCache meCache, IConfiguration configuration, IShip ship, IDrones drones, IEntityProvider entityProvider, IAlerts alerts, IAsteroidBelts asteroidBelts, IPossibleEwarNpcs possibleEwarNpcs, ITargetQueue targetQueue, IModuleManager moduleManager) { _meCache = meCache; _configuration = configuration; _ship = ship; _drones = drones; _entityProvider = entityProvider; _alerts = alerts; _asteroidBelts = asteroidBelts; _possibleEwarNpcs = possibleEwarNpcs; _targetQueue = targetQueue; _moduleManager = moduleManager; ModuleManager.ModulesToPulse.Add(this); ModuleName = "Attackers"; IsEnabled = true; PulseFrequency = 1; }
public Targeting(ILogging logging, IMaxRuntimeConfiguration maxRuntimeConfiguration, IMeCache meCache, IShip ship, IDrones drones, IAlerts alerts, IModuleManager moduleManager, ITargetQueue targetQueue, IEntityProvider entityProvider, IMovement movement) : base(logging) { _meCache = meCache; _ship = ship; _drones = drones; _alerts = alerts; _moduleManager = moduleManager; _targetQueue = targetQueue; _entityProvider = entityProvider; _movement = movement; ModuleManager.ModulesToPulse.Add(this); ModuleName = "Targeting"; _randomWait = new RandomWaitObject("Targeting", logging, maxRuntimeConfiguration); _randomWait.AddWait(new KeyValuePair <int, int>(3, 5), 5); _randomWait.AddWait(new KeyValuePair <int, int>(1, 2), 15); }
public NonOffensive(IMeCache meCache, IMiningConfiguration miningConfiguration, IDefensiveConfiguration defensiveConfiguration, IEntityProvider entityProvider, ITargetQueue targetQueue, IShip ship, IDrones drones, ITargeting targeting, IMovement movement) { _meCache = meCache; _miningConfiguration = miningConfiguration; _defensiveConfiguration = defensiveConfiguration; _entityProvider = entityProvider; _targetQueue = targetQueue; _ship = ship; _drones = drones; _targeting = targeting; _movement = movement; ModuleManager.ModulesToPulse.Add(this); PulseFrequency = 1; ModuleName = "NonOffensive"; _randomWait.AddWait(new KeyValuePair <int, int>(16, 30), 1); _randomWait.AddWait(new KeyValuePair <int, int>(6, 15), 3); _randomWait.AddWait(new KeyValuePair <int, int>(3, 5), 6); _randomWait.AddWait(new KeyValuePair <int, int>(1, 2), 10); }
public override bool Initialize() { IsCleanedUpOutOfFrame = false; _isxeveProvider = new IsxeveProvider(); _eveWindowProvider = new EveWindowProvider(); #region Core object construction //Background stuff Logging = new Logging(); LogCallback = LogIsxeveMessage; Tracing.AddCallback(LogCallback); _mathUtility = new MathUtility(); Statistics = new Statistics(); EventCommunications = new EventCommunications(Logging); FileManager = new FileManager(); //moduleManager and BehaviorManager ModuleManager = new ModuleManager(_isxeveProvider, _eveWindowProvider); //Me cache. Contains the other caches. MeCache = new MeCache(_isxeveProvider, _eveWindowProvider); //ConfigurationManager Config = new Configuration(); ConfigurationManager = new ConfigurationManager(Config, MeCache); Ship = new Ship(_isxeveProvider, _eveWindowProvider, MeCache, MeCache.Ship, Config.CargoConfig, Statistics, Config.MovementConfig); //Entity Populator object EntityProvider = new EntityProvider(_isxeveProvider); //Other Cache and Data classes MissionCache = new MissionCache(_isxeveProvider, _eveWindowProvider); AgentCache = new AgentCache(FileManager, MeCache, Config, _eveWindowProvider); BookMarkCache = new BookMarkCache(MeCache, EntityProvider, Logging, _isxeveProvider); NpcBountyCache = new NpcBountyCache(); //EVEDB modules PilotCache = new PilotCache(); AllianceCache = new AllianceCache(FileManager); CorporationCache = new CorporationCache(); MissionDatabase = new MissionDatabase(); PossibleEwarNpcs = new PossibleEwarNpcs(); //Core Functionality Providers, not necessarily caches TargetQueue = new TargetQueue(MeCache, EntityProvider, Config.MiningConfig, Config.MainConfig); JetCan = new JettisonContainer(_eveWindowProvider); Social = new Social(_isxeveProvider); Station = new Station(_isxeveProvider, _eveWindowProvider); AsteroidBelts = new AsteroidBelts(Config, MeCache, EntityProvider, BookMarkCache, Ship); Bookmarks = new Bookmarks(MeCache, Station, Config, BookMarkCache, AsteroidBelts, _isxeveProvider); Drones = new Drones(_isxeveProvider); Fleet = new Fleet(); Alerts = new Alerts(Config, MeCache, Logging); _anomalyProvider = new AnomalyProvider(MeCache.Ship); _anomalyClaimTracker = new AnomalyClaimTracker(Logging, EventCommunications, MeCache); _safespots = new Safespots(MeCache, BookMarkCache, Config.MovementConfig, MeCache.ToEntity, EntityProvider, _isxeveProvider, Ship, Social, _mathUtility, Logging); Attackers = new Attackers(MeCache, Config, Ship, Drones, EntityProvider, Alerts, AsteroidBelts, PossibleEwarNpcs, TargetQueue, ModuleManager); #endregion #region ActionModule construction //Action classes Movement = new Movement(_isxeveProvider, EntityProvider, MeCache, _anomalyProvider, TargetQueue, Ship, Drones); Targeting = new Targeting(Logging, Config.MaxRuntimeConfig, MeCache, Ship, Drones, Alerts, ModuleManager, TargetQueue, EntityProvider, Movement); Offensive = new Offensive(Logging, TargetQueue, EntityProvider); NonOffensive = new NonOffensive(MeCache, Config.MiningConfig, Config.DefenseConfig, EntityProvider, TargetQueue, Ship, Drones, Targeting, Movement); Defense = new Defense(_isxeveProvider, EntityProvider, Ship, MeCache, Config.DefenseConfig, Social, Drones, Alerts, _safespots, Movement); #endregion #region Processor construction MissionProcessor = new MissionProcessor(_eveWindowProvider, Movement); #endregion #region BehaviorModule construction _moveToDropOffLocationPartialBehavior = new MoveToDropOffLocationPartialBehavior(Movement, EntityProvider, Config.CargoConfig, BookMarkCache, Bookmarks, Config.MovementConfig, MeCache, _mathUtility, _isxeveProvider); _dropOffCargoPartialBehavior = new DropOffCargoPartialBehavior(_eveWindowProvider, Config.CargoConfig, Config.MainConfig, Config.MiningConfig, MeCache, Ship, Station, JetCan, EntityProvider, EventCommunications); //Behavior classes BehaviorManager = new BehaviorManager(); Mining = new Mining(Config.CargoConfig, Config.MainConfig, MeCache, Ship, EntityProvider, _safespots, Movement, Social, Config.MovementConfig, AsteroidBelts, _moveToDropOffLocationPartialBehavior, _dropOffCargoPartialBehavior, Config.MiningConfig, _isxeveProvider, BookMarkCache, TargetQueue); Hauler = new Hauler(_eveWindowProvider, Config.CargoConfig, Config.MainConfig, Config.MiningConfig, MeCache, Ship, Station, JetCan, EntityProvider, EventCommunications, _safespots, Movement, BookMarkCache, _moveToDropOffLocationPartialBehavior); BoostCanOrca = new BoostCanOrca(); BoostOrca = new BoostOrca(BookMarkCache, Config.MiningConfig, Bookmarks, _safespots, Movement, Config.MainConfig, Ship, MeCache); Freighter = new Freighter(_eveWindowProvider, Config.CargoConfig, Config.MainConfig, Config.MiningConfig, MeCache, Ship, Station, JetCan, EntityProvider, EventCommunications, _moveToDropOffLocationPartialBehavior, _dropOffCargoPartialBehavior, Movement); MissionRunner = new MissionRunner(Config, MissionCache, AgentCache, _eveWindowProvider); JumpStabilityTest = new JumpStabilityTest(); Ratting = new Ratting(Social, MeCache, Bookmarks, Config.SalvageConfig, Config.RattingConfig, _anomalyProvider, EntityProvider, _anomalyClaimTracker, _safespots, Movement, Ship, AsteroidBelts, Config.MovementConfig, Alerts, TargetQueue, Attackers); #endregion //StealthBotUI Interop construction //SbUiCommunication = new SbUiCommunication(); #if DEBUG LavishScript.ExecuteCommand("ISXEVE:Debug_SetHighPerfLogging[1]"); #endif return(true); }