public DrDeliverResources(Actor self, Actor targetActor = null) { movement = self.Trait <IMove>(); freighter = self.Trait <Freighter>(); this.targetActor = targetActor; notifyFreighterActions = self.TraitsImplementing <INotifyFreighterAction>().ToArray(); }
public DrFindAndDeliverResources(Actor self, Actor deliverActor = null) { harv = self.Trait <Freighter>(); harvInfo = self.Info.TraitInfo <FreighterInfo>(); mobile = self.Trait <Mobile>(); claimLayer = self.World.WorldActor.Trait <ResourceClaimLayer>(); pathFinder = self.World.WorldActor.Trait <IPathFinder>(); domainIndex = self.World.WorldActor.Trait <DomainIndex>(); this.deliverActor = deliverActor; }
public DrHarvestResource(Actor self, CPos targetCell) { harv = self.Trait <Freighter>(); harvInfo = self.Info.TraitInfo <FreighterInfo>(); facing = self.Trait <IFacing>(); body = self.Trait <BodyOrientation>(); move = self.Trait <IMove>(); claimLayer = self.World.WorldActor.Trait <ResourceClaimLayer>(); this.targetCell = targetCell; notifyHarvesterActions = self.TraitsImplementing <INotifyFreighterAction>().ToArray(); }
public FreighterDockSequence(Actor self, Actor refinery, WAngle dockAngle, bool isDragRequired, WVec dragOffset, int dragLength) { dockingState = DockingState.Turn; Refinery = refinery; DockAngle = dockAngle; IsDragRequired = isDragRequired; DragOffset = dragOffset; DragLength = dragLength; Harv = self.Trait <Freighter>(); StartDrag = self.CenterPosition; EndDrag = refinery.CenterPosition + DragOffset; }
static void Main(string[] args) { Aircompany airCompany = new Aircompany(); Airliner carrier = new Airliner() {Name="a1", range=20000, fuelConsumption=100, capacity=200}; airCompany.Add(carrier); Freighter freighter = new Freighter() { Name = "a2", range = 1000, fuelConsumption = 80, carrying = 5000 }; airCompany.Add(freighter); CombiAirplane combiAirplane = new CombiAirplane() { Name = "a3", range = 800, fuelConsumption = 70, carrying = 1000, capacity = 70 }; airCompany.Add(combiAirplane); Console.WriteLine(airCompany.maxCapacity); ICollection<IAirplane> find = airCompany.Search(75,110).ToList<IAirplane>(); foreach (var i in find) i.ShowElement(); }
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); }