示例#1
0
        internal Social(IIsxeveProvider isxeveProvider)
        {
            _isxeveProvider = isxeveProvider;

            ModuleManager.ModulesToPulse.Add(this);
            ModuleName     = "Social";
            PulseFrequency = 1;
        }
示例#2
0
        public Drones(IIsxeveProvider isxeveProvider)
        {
            _isxeveProvider = isxeveProvider;

            ModuleManager.ModulesToPulse.Add(this);
            DroneTargetEntityId = -1;
            ModuleName          = "Drones";
        }
示例#3
0
        internal EntityProvider(IIsxeveProvider isxeveProvider)
        {
            _isxeveProvider = isxeveProvider;

            ModuleName     = "EntityProvider";
            IsEnabled      = true;
            PulseFrequency = 1;
        }
示例#4
0
        internal MeCache(IIsxeveProvider isxeveProvider, IEveWindowProvider eveWindowProvider)
        {
            _isxeveProvider    = isxeveProvider;
            _eveWindowProvider = eveWindowProvider;

            PulseFrequency = 1;
            ModuleManager.CachesToPulse.Add(this);
            ToEntity        = new MeToEntityCache();
            Ship            = new ShipCache();
            base.ModuleName = "MeCache";
        }
示例#5
0
        internal BookMarkCache(IMeCache meCache, IEntityProvider entityProvider, ILogging logging, IIsxeveProvider isxeveProvider)
            : base(logging)
        {
            _meCache        = meCache;
            _entityProvider = entityProvider;
            _isxeveProvider = isxeveProvider;

            ModuleName     = "BookmarkCache";
            PulseFrequency = 1;
            IsEnabled      = true;
            ModuleManager.ModulesToPulse.Add(this);
        }
示例#6
0
        internal ModuleManager(IIsxeveProvider isxeveProvider, IEveWindowProvider eveWindowProvider)
        {
            _isxeveProvider    = isxeveProvider;
            _eveWindowProvider = eveWindowProvider;

            //Set the object name
            ModuleName = "ModuleManager";
            //Set the pulse frequency, default to fastest until otherwise set
            PulseFrequency = 1;
            //make sure it's enabled
            IsEnabled = true;
            //Don't need to add this to a list of modules to pulse; it's pulsed from StealthBot.
        }
示例#7
0
        internal Bookmarks(IMeCache meCache, IStation station, IConfiguration configuration, IBookMarkCache bookMarkCache, IAsteroidBelts asteroidBelts, IIsxeveProvider isxeveProvider)
        {
            _meCache        = meCache;
            _station        = station;
            _configuration  = configuration;
            _bookMarkCache  = bookMarkCache;
            _asteroidBelts  = asteroidBelts;
            _isxeveProvider = isxeveProvider;

            ModuleManager.ModulesToPulse.Add(this);
            ModuleName     = "Bookmarks";
            PulseFrequency = 1;
        }
示例#8
0
 public Safespots(IMeCache meCache, IBookMarkCache bookMarkCache, IMovementConfiguration movementConfiguration, IMeToEntityCache meToEntityCache, IEntityProvider entityProvider, IIsxeveProvider isxeveProvider,
                  IShip ship, ISocial social, MathUtility mathUtility, ILogging logging)
 {
     _meCache               = meCache;
     _bookMarkCache         = bookMarkCache;
     _movementConfiguration = movementConfiguration;
     _meToEntityCache       = meToEntityCache;
     _entityProvider        = entityProvider;
     _isxeveProvider        = isxeveProvider;
     _ship        = ship;
     _social      = social;
     _mathUtility = mathUtility;
     _logging     = logging;
 }
示例#9
0
        public MoveToDropOffLocationPartialBehavior(IMovement movement, IEntityProvider entityProvider, ICargoConfiguration cargoConfiguration, IBookMarkCache bookMarkCache, IBookmarks bookmarks,
                                                    IMovementConfiguration movementConfiguration, IMeCache meCache, MathUtility mathUtility, IIsxeveProvider isxeveProvider)
        {
            _movement              = movement;
            _entityProvider        = entityProvider;
            _cargoConfiguration    = cargoConfiguration;
            _bookMarkCache         = bookMarkCache;
            _bookmarks             = bookmarks;
            _movementConfiguration = movementConfiguration;
            _meCache        = meCache;
            _mathUtility    = mathUtility;
            _isxeveProvider = isxeveProvider;

            ModuleName = "MoveToDropOffLocationPartialBehavior";
        }
示例#10
0
        internal Station(IIsxeveProvider isxeveProvider, IEveWindowProvider eveWindowProvider)
        {
            _isxeveProvider    = isxeveProvider;
            _eveWindowProvider = eveWindowProvider;

            IsEnabled  = false;
            ModuleName = "Station";

            _stationTypeIds = new List <int>
            {
                (int)TypeIDs.Concord_Starbase,
                (int)TypeIDs.Minmatar_Trade_Post,
                (int)TypeIDs.Amarr_Trade_Post,
                (int)TypeIDs.Minmatar_Hub
            };
        }
示例#11
0
        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;
        }
示例#12
0
        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);
        }