public Program() { subsystemManager = new SubsystemManager(this); Runtime.UpdateFrequency = UpdateFrequency.Update1; // Add subsystems AutopilotSubsystem autopilotSubsystem = new AutopilotSubsystem(); IntelSubsystem intelSubsystem = new IntelSubsystem(); DockingSubsystem dockingSubsystem = new DockingSubsystem(intelSubsystem); LocustCombatSystem combatSubsystem = new LocustCombatSystem(); subsystemManager.AddSubsystem("autopilot", autopilotSubsystem); subsystemManager.AddSubsystem("docking", dockingSubsystem); subsystemManager.AddSubsystem("intel", intelSubsystem); subsystemManager.AddSubsystem("combat", combatSubsystem); AgentSubsystem agentSubsystem = new AgentSubsystem(intelSubsystem, AgentClass.Bomber); UndockFirstTaskGenerator undockingTaskGenerator = new UndockFirstTaskGenerator(this, autopilotSubsystem, dockingSubsystem); undockingTaskGenerator.AddTaskGenerator(new WaypointTaskGenerator(this, autopilotSubsystem)); undockingTaskGenerator.AddTaskGenerator(new DockTaskGenerator(this, autopilotSubsystem, dockingSubsystem)); undockingTaskGenerator.AddTaskGenerator(new LocustAttackTaskGenerator(this, combatSubsystem, autopilotSubsystem, agentSubsystem)); agentSubsystem.AddTaskGenerator(undockingTaskGenerator); agentSubsystem.AddTaskGenerator(new SetHomeTaskGenerator(this, dockingSubsystem)); subsystemManager.AddSubsystem("agent", agentSubsystem); subsystemManager.DeserializeManager(Storage); }
public Program() { subsystemManager = new SubsystemManager(this, null); Runtime.UpdateFrequency = UpdateFrequency.Update1; // Add subsystems // Intel system setup IIntelProvider intelSubsystem; intelSubsystem = new IntelSubsystem(); subsystemManager.AddSubsystem("intel", (ISubsystem)intelSubsystem); //// Looking Glass Setup //LookingGlassNetworkSubsystem lookingGlassNetwork = new LookingGlassNetworkSubsystem(intelSubsystem); //subsystemManager.AddSubsystem("lookingglass", lookingGlassNetwork); // //// Hangar system setup //HangarSubsystem hangarSubsystem = new HangarSubsystem(intelSubsystem); //subsystemManager.AddSubsystem("hangar", hangarSubsystem); // //// Seeing-Eye scanner setup subsystemManager.AddSubsystem("scanner", new ScannerNetworkSubsystem(intelSubsystem, "SE")); // //// Inventory system setup //InventoryManagerSubsystem inventorySubsystem = new InventoryManagerSubsystem(); //inventorySubsystem.RegisterRequester(hangarSubsystem); //subsystemManager.AddSubsystem("inventory", inventorySubsystem); // //// Command system setup //TextCommandSubsystem textCommandSubsystem = new TextCommandSubsystem(intelSubsystem); //subsystemManager.AddSubsystem("command", textCommandSubsystem); subsystemManager.DeserializeManager(Storage); }
public Program() { Context = new ExecutionContext(this); subsystemManager = new SubsystemManager(Context); Runtime.UpdateFrequency = UpdateFrequency.Update1; AutopilotSubsystem = new AutopilotSubsystem(); AutopilotSubsystem.Persist = true; IntelSubsystem = new IntelSubsystem(); Context.IntelSystem = IntelSubsystem; CombatSubsystem = new HornetCombatSubsystem(IntelSubsystem); LookingGlassNetwork = new LookingGlassNetworkSubsystem(IntelSubsystem, "LG", false, false); AgentSubsystem = new AgentSubsystem(IntelSubsystem, AgentClass.None); TaskGenerator = new HornetAttackTaskGenerator(this, CombatSubsystem, AutopilotSubsystem, AgentSubsystem, null, IntelSubsystem); AgentSubsystem.AddTaskGenerator(TaskGenerator); TaskGenerator.HornetAttackTask.FocusedTarget = true; CombatLoaderSubsystem = new CombatLoaderSubsystem("Fermi Cargo", "Combat Supplies"); TorpedoSubsystem = new TorpedoSubsystem(IntelSubsystem); ScannerSubsystem = new ScannerNetworkSubsystem(IntelSubsystem); LookingGlassNetwork.AddPlugin("combat", new LookingGlass_Fermi(this)); subsystemManager.AddSubsystem("autopilot", AutopilotSubsystem); subsystemManager.AddSubsystem("intel", IntelSubsystem); subsystemManager.AddSubsystem("combat", CombatSubsystem); subsystemManager.AddSubsystem("agent", AgentSubsystem); subsystemManager.AddSubsystem("scanner", ScannerSubsystem); subsystemManager.AddSubsystem("lookingglass", LookingGlassNetwork); subsystemManager.AddSubsystem("torpedo", TorpedoSubsystem); subsystemManager.AddSubsystem("loader", CombatLoaderSubsystem); subsystemManager.DeserializeManager(Storage); }
public Program() { subsystemManager = new SubsystemManager(this); Runtime.UpdateFrequency = UpdateFrequency.Update1; SensorSubsystem = new ScannerNetworkSubsystem(IntelProvider, "SE", 100, 0); HummingbirdCommandSubsystem = new HummingbirdCommandSubsystem(IntelProvider, SensorSubsystem); subsystemManager.AddSubsystem("intel", IntelProvider); subsystemManager.AddSubsystem("sensor", SensorSubsystem); subsystemManager.AddSubsystem("hummingbird", HummingbirdCommandSubsystem); subsystemManager.DeserializeManager(Storage); }
public Program() { subsystemManager = new SubsystemManager(this); Runtime.UpdateFrequency = UpdateFrequency.Update1; // Add subsystems subsystemManager.AddSubsystem("autopilot", new AutopilotSubsystem()); subsystemManager.AddSubsystem("docking", new DockingSubsystem()); IntelSlaveSubsystem subsystem = new IntelSlaveSubsystem(); subsystemManager.AddSubsystem("intel", subsystem); subsystemManager.AddSubsystem("sensor", new LookingGlass(subsystem)); subsystemManager.DeserializeManager(Storage); }
public Program() { subsystemManager = new SubsystemManager(this, null, false); subsystemManager.OutputMode = OutputMode.Debug; Runtime.UpdateFrequency = UpdateFrequency.Update1; GridTerminalSystem.GetBlocksOfType <IMyTerminalBlock>(null, CollectBlocks); if (Cockpit != null) { Drive = new AtmoDrive(Cockpit, 5, Me); } if (Drive != null) { Drive.MaxAngleDegrees = 1; subsystemManager.AddSubsystem("autopilot", Drive); } else { Runtime.UpdateFrequency = UpdateFrequency.None; Echo("CANNOT FIND COCKPIT TAGGED [SPINMINER]"); } ParseConfigs(); }
public Program() { Context = new ExecutionContext(this); subsystemManager = new SubsystemManager(Context); Runtime.UpdateFrequency = UpdateFrequency.Update1; AutopilotSubsystem = new AutopilotSubsystem(); IntelSubsystem = new IntelSubsystem(); Context.IntelSystem = IntelSubsystem; MiningSubsystem = new HoneybeeMiningSystem(); LookingGlassNetwork = new LookingGlassNetworkSubsystem(IntelSubsystem, "LG", false, false); AgentSubsystem = new AgentSubsystem(IntelSubsystem, AgentClass.Fighter); MonitorSubsystem = new MonitorSubsystem(IntelSubsystem); var loader = new CombatLoaderSubsystem("Pascal Cargo", "Base Cargo"); var docking = new DockingSubsystem(IntelSubsystem, loader); ScannerSubsystem = new ScannerNetworkSubsystem(IntelSubsystem); LookingGlassNetwork.AddPlugin("combat", new LookingGlass_Pascal(this)); subsystemManager.AddSubsystem("indicator", new StatusIndicatorSubsystem(docking, IntelSubsystem)); subsystemManager.AddSubsystem("autopilot", AutopilotSubsystem); subsystemManager.AddSubsystem("intel", IntelSubsystem); subsystemManager.AddSubsystem("mining", MiningSubsystem); subsystemManager.AddSubsystem("scanner", ScannerSubsystem); subsystemManager.AddSubsystem("lookingglass", LookingGlassNetwork); subsystemManager.AddSubsystem("monitor", MonitorSubsystem); subsystemManager.AddSubsystem("loader", loader); subsystemManager.AddSubsystem("docking", docking); var MiningTaskGenerator = new HoneybeeMiningTaskGenerator(this, MiningSubsystem, AutopilotSubsystem, AgentSubsystem, null, null, null, IntelSubsystem, MonitorSubsystem); var HomingTaskGenerator = new SetHomeTaskGenerator(this, docking); var DockingTaskGenerator = new DockTaskGenerator(this, AutopilotSubsystem, docking); AgentSubsystem.AddTaskGenerator(MiningTaskGenerator); AgentSubsystem.AddTaskGenerator(HomingTaskGenerator); AgentSubsystem.AddTaskGenerator(DockingTaskGenerator); subsystemManager.AddSubsystem("agent", AgentSubsystem); subsystemManager.DeserializeManager(Storage); }
public Program() { Context = new ExecutionContext(this); subsystemManager = new SubsystemManager(Context); Runtime.UpdateFrequency = UpdateFrequency.Update1; IntelSubsystem = new IntelSubsystem(); Context.IntelSystem = IntelSubsystem; TorpedoSubsystem = new HoverTorpedoSubsystem(IntelSubsystem); ScannerSubsystem = new ScannerNetworkSubsystem(IntelSubsystem); subsystemManager.AddSubsystem("intel", IntelSubsystem); subsystemManager.AddSubsystem("scanner", ScannerSubsystem); subsystemManager.AddSubsystem("torpedo", TorpedoSubsystem); subsystemManager.DeserializeManager(Storage); }
public Program() { Context = new ExecutionContext(this); subsystemManager = new SubsystemManager(Context); Runtime.UpdateFrequency = UpdateFrequency.Update1; // Add subsystems // AutopilotSubsystem autopilotSubsystem = new AutopilotSubsystem(); IntelSubsystem intelSubsystem = new IntelSubsystem(); Context.IntelSystem = intelSubsystem; TacMapSubsystem tacMapSubsystem = new TacMapSubsystem(intelSubsystem); // subsystemManager.AddSubsystem("autopilot", autopilotSubsystem); subsystemManager.AddSubsystem("intel", intelSubsystem); subsystemManager.AddSubsystem("tacmap", tacMapSubsystem); subsystemManager.DeserializeManager(Storage); }
public Program() { subsystemManager = new SubsystemManager(this); Runtime.UpdateFrequency = UpdateFrequency.Update1; // Add subsystems CombatLoaderSubsystem loaderSystem = new CombatLoaderSubsystem("Welder Cargo", "Base Cargo"); subsystemManager.AddSubsystem("loader", loaderSystem); subsystemManager.DeserializeManager(Storage); }
public Program() { context = new ExecutionContext(this); iniParser.Clear(); iniParser.TryParse(context.Reference.CustomData); subsystemManager = new SubsystemManager(context); Runtime.UpdateFrequency = UpdateFrequency.Update1; IntelSubsystem IntelProvider = new IntelSubsystem(); SensorSubsystem = new ScannerNetworkSubsystem(IntelProvider); subsystemManager.AddSubsystem("intel", IntelProvider); subsystemManager.AddSubsystem("sensor", SensorSubsystem); AtmoDrive drive = new AtmoDrive(IntelProvider.Controller, 5, context.Reference); drive.MaxAngleDegrees = 20; subsystemManager.AddSubsystem("autopilot", drive); subsystemManager.AddSubsystem("MACCAP", new MACCombatAutopilotSubsystem(drive, IntelProvider)); subsystemManager.DeserializeManager(Storage); }
public Raven(IMyRemoteControl reference, MyGridProgram program) { Controller = reference; Context = new ExecutionContext(program, reference); SubsystemManager = new SubsystemManager(Context); Drive = new AtmoDrive(Controller); CombatLoaderSubsystem loaderSubsystem = new CombatLoaderSubsystem("Drone Cargo", "Drone Store"); IntelSubsystem intelSubsystem = new IntelSubsystem(); Context.IntelSystem = intelSubsystem; DockingSubsystem dockingSubsystem = new DockingSubsystem(intelSubsystem, loaderSubsystem); StatusIndicatorSubsystem indicatorSubsystem = new StatusIndicatorSubsystem(dockingSubsystem, intelSubsystem); MonitorSubsystem monitorSubsystem = new MonitorSubsystem(intelSubsystem); AgentSubsystem agentSubsystem = new AgentSubsystem(intelSubsystem, AgentClass.Fighter); UndockFirstTaskGenerator undockingTaskGenerator = new UndockFirstTaskGenerator(program, Drive, dockingSubsystem); ScannerNetworkSubsystem scannerSubsystem = new ScannerNetworkSubsystem(intelSubsystem); HornetCombatSubsystem combatSubsystem = new HornetCombatSubsystem(intelSubsystem); SubsystemManager.AddSubsystem("autopilot", Drive); SubsystemManager.AddSubsystem("docking", dockingSubsystem); SubsystemManager.AddSubsystem("intel", intelSubsystem); SubsystemManager.AddSubsystem("monitor", monitorSubsystem); SubsystemManager.AddSubsystem("combat", combatSubsystem); SubsystemManager.AddSubsystem("indicator", indicatorSubsystem); SubsystemManager.AddSubsystem("loader", loaderSubsystem); undockingTaskGenerator.AddTaskGenerator(new WaypointTaskGenerator(program, Drive)); undockingTaskGenerator.AddTaskGenerator(new DockTaskGenerator(program, Drive, dockingSubsystem)); undockingTaskGenerator.AddTaskGenerator(new HornetAttackTaskGenerator(program, combatSubsystem, Drive, agentSubsystem, monitorSubsystem, intelSubsystem)); agentSubsystem.AddTaskGenerator(undockingTaskGenerator); agentSubsystem.AddTaskGenerator(new SetHomeTaskGenerator(program, dockingSubsystem)); SubsystemManager.AddSubsystem("agent", agentSubsystem); SubsystemManager.AddSubsystem("scanner", scannerSubsystem); }
// { // { MyItemType.MakeComponent("SteelPlate"), 87} , // { MyItemType.MakeComponent("Construction"), 47} , // { MyItemType.MakeComponent("LargeTube"), 5} , // { MyItemType.MakeComponent("Motor"), 10} , // { MyItemType.MakeComponent("Computer"), 37} , // { MyItemType.MakeComponent("MetalGrid"), 4} , // { MyItemType.MakeComponent("SmallTube"), 14} , // { MyItemType.MakeComponent("InteriorPlate"), 2} , // { MyItemType.MakeComponent("Girder"), 1} , // { MyItemType.MakeComponent("Explosives"), 2} , // { MyItemType.MakeComponent("PowerCell"), 2} , // }; public Program() { Context = new ExecutionContext(this); subsystemManager = new SubsystemManager(Context); Runtime.UpdateFrequency = UpdateFrequency.Update1; GridTerminalSystem.GetBlocksOfType <IMyTerminalBlock>(null, CollectBlocks); AutopilotSubsystem = new AtmoDrive(Controller, 5, Me); AutopilotSubsystem.FullAuto = false; IntelSubsystem = new IntelSubsystem(); Context.IntelSystem = IntelSubsystem; CombatSubsystem = new HornetCombatSubsystem(IntelSubsystem, false); LookingGlassNetwork = new LookingGlassNetworkSubsystem(IntelSubsystem, "LG", false, false); AgentSubsystem = new AgentSubsystem(IntelSubsystem, AgentClass.None); TaskGenerator = new HornetAttackTaskGenerator(this, CombatSubsystem, AutopilotSubsystem, AgentSubsystem, null, IntelSubsystem); AgentSubsystem.AddTaskGenerator(TaskGenerator); TaskGenerator.HornetAttackTask.FocusedTarget = true; CombatLoaderSubsystem = new CombatLoaderSubsystem(); //DockingSubsystem = new DockingSubsystem(IntelSubsystem, CombatLoaderSubsystem); TorpedoSubsystem = new TorpedoSubsystem(IntelSubsystem); ScannerSubsystem = new ScannerNetworkSubsystem(IntelSubsystem); LookingGlassNetwork.AddPlugin("combat", new LookingGlass_Fermi(this)); subsystemManager.AddSubsystem("autopilot", AutopilotSubsystem); subsystemManager.AddSubsystem("intel", IntelSubsystem); subsystemManager.AddSubsystem("combat", CombatSubsystem); subsystemManager.AddSubsystem("agent", AgentSubsystem); subsystemManager.AddSubsystem("scanner", ScannerSubsystem); subsystemManager.AddSubsystem("lookingglass", LookingGlassNetwork); subsystemManager.AddSubsystem("loader", CombatLoaderSubsystem); // subsystemManager.AddSubsystem("docking", DockingSubsystem); subsystemManager.AddSubsystem("torpedo", TorpedoSubsystem); subsystemManager.DeserializeManager(Storage); ParseConfigs(); }
public Program() { context = new ExecutionContext(this); iniParser.Clear(); iniParser.TryParse(context.Reference.CustomData); subsystemManager = new SubsystemManager(context); Runtime.UpdateFrequency = UpdateFrequency.Update1; IntelSubsystem IntelProvider = new IntelSubsystem(); SensorSubsystem = new ScannerNetworkSubsystem(IntelProvider); subsystemManager.AddSubsystem("intel", IntelProvider); subsystemManager.AddSubsystem("sensor", SensorSubsystem); subsystemManager.AddSubsystem("turret", new TurretSubsystem(IntelProvider)); subsystemManager.AddSubsystem("loader", new CombatLoaderSubsystem()); subsystemManager.AddSubsystem("utility", new UtilitySubsystem()); if (iniParser.Get("RoverMSM", "Hover").ToBoolean(false)) { var helidrive = new HeliDriveSubsystem(); subsystemManager.AddSubsystem("heli", helidrive); if (iniParser.Get("RoverMSM", "heliCAP").ToBoolean(false)) { subsystemManager.AddSubsystem("heliCAP", new HeliCombatAutopilotSubsystem(helidrive, IntelProvider)); } } if (iniParser.Get("RoverMSM", "Landpedo").ToBoolean(false)) { subsystemManager.AddSubsystem("landpedo", new LandpedoSubsystem(IntelProvider)); } subsystemManager.DeserializeManager(Storage); }
public Program() { subsystemManager = new SubsystemManager(this); Runtime.UpdateFrequency = UpdateFrequency.Update1; // Add subsystems IntelSubsystem intelSubsystem = new IntelSubsystem(); subsystemManager.AddSubsystem("intel", intelSubsystem); AutopilotSubsystem autopilotSubsystem = new AutopilotSubsystem(); subsystemManager.AddSubsystem("autopilot", autopilotSubsystem); DockingSubsystem dockingSubsystem = new DockingSubsystem(intelSubsystem); subsystemManager.AddSubsystem("docking", dockingSubsystem); MonitorSubsystem monitorSubsystem = new MonitorSubsystem(intelSubsystem); subsystemManager.AddSubsystem("monitor", monitorSubsystem); // LookingGlass setup LookingGlassNetworkSubsystem lookingGlassNetwork = new LookingGlassNetworkSubsystem(intelSubsystem, "LG", false, false); subsystemManager.AddSubsystem("lookingglass", lookingGlassNetwork); // Agent setup AgentSubsystem agentSubsystem = new AgentSubsystem(intelSubsystem, AgentClass.Drone); intelSubsystem.MyAgent = agentSubsystem; UndockFirstTaskGenerator undockingTaskGenerator = new UndockFirstTaskGenerator(this, autopilotSubsystem, dockingSubsystem); undockingTaskGenerator.AddTaskGenerator(new WaypointTaskGenerator(this, autopilotSubsystem)); undockingTaskGenerator.AddTaskGenerator(new DockTaskGenerator(this, autopilotSubsystem, dockingSubsystem)); agentSubsystem.AddTaskGenerator(undockingTaskGenerator); agentSubsystem.AddTaskGenerator(new SetHomeTaskGenerator(this, dockingSubsystem)); subsystemManager.AddSubsystem("agent", agentSubsystem); subsystemManager.AddSubsystem("indicator", new StatusIndicatorSubsystem(dockingSubsystem, intelSubsystem)); subsystemManager.DeserializeManager(Storage); }
public Program() { Context = new ExecutionContext(this); subsystemManager = new SubsystemManager(Context); Runtime.UpdateFrequency = UpdateFrequency.Update1; // Add subsystems AutopilotSubsystem autopilotSubsystem = new AutopilotSubsystem(); IntelSubsystem intelSubsystem = new IntelSubsystem(); Context.IntelSystem = intelSubsystem; DockingSubsystem dockingSubsystem = new DockingSubsystem(intelSubsystem); HoneybeeMiningSystem miningSubsystem = new HoneybeeMiningSystem(); MonitorSubsystem monitorSubsystem = new MonitorSubsystem(intelSubsystem); subsystemManager.AddSubsystem("autopilot", autopilotSubsystem); subsystemManager.AddSubsystem("docking", dockingSubsystem); subsystemManager.AddSubsystem("intel", intelSubsystem); subsystemManager.AddSubsystem("mining", miningSubsystem); subsystemManager.AddSubsystem("monitor", monitorSubsystem); AgentSubsystem agentSubsystem = new AgentSubsystem(intelSubsystem, AgentClass.Miner); UndockFirstTaskGenerator undockingTaskGenerator = new UndockFirstTaskGenerator(this, autopilotSubsystem, dockingSubsystem); undockingTaskGenerator.AddTaskGenerator(new WaypointTaskGenerator(this, autopilotSubsystem)); DockTaskGenerator dockTaskGenerator = new DockTaskGenerator(this, autopilotSubsystem, dockingSubsystem); undockingTaskGenerator.AddTaskGenerator(dockTaskGenerator); agentSubsystem.AddTaskGenerator(undockingTaskGenerator); agentSubsystem.AddTaskGenerator(new SetHomeTaskGenerator(this, dockingSubsystem)); agentSubsystem.AddTaskGenerator(new HoneybeeMiningTaskGenerator(this, miningSubsystem, autopilotSubsystem, agentSubsystem, dockingSubsystem, dockTaskGenerator, undockingTaskGenerator, intelSubsystem, monitorSubsystem)); subsystemManager.AddSubsystem("agent", agentSubsystem); subsystemManager.AddSubsystem("indicator", new StatusIndicatorSubsystem(dockingSubsystem, intelSubsystem)); subsystemManager.DeserializeManager(Storage); }
public Hornet(IMyTerminalBlock reference, ExecutionContext context) { Context = context; SubsystemManager = new SubsystemManager(context); AutopilotSubsystem autopilotSubsystem = new AutopilotSubsystem(); IntelSubsystem intelSubsystem = new IntelSubsystem(); Context.IntelSystem = intelSubsystem; DockingSubsystem dockingSubsystem = new DockingSubsystem(intelSubsystem); HornetCombatSubsystem combatSubsystem = new HornetCombatSubsystem(intelSubsystem); MonitorSubsystem monitorSubsystem = new MonitorSubsystem(intelSubsystem); StatusIndicatorSubsystem indicatorSubsystem = new StatusIndicatorSubsystem(dockingSubsystem, intelSubsystem); AgentSubsystem agentSubsystem = new AgentSubsystem(intelSubsystem, AgentClass.Fighter); UndockFirstTaskGenerator undockingTaskGenerator = new UndockFirstTaskGenerator(context.Program, autopilotSubsystem, dockingSubsystem); ScannerNetworkSubsystem scannerSubsystem = new ScannerNetworkSubsystem(intelSubsystem); SubsystemManager.AddSubsystem("autopilot", autopilotSubsystem); SubsystemManager.AddSubsystem("docking", dockingSubsystem); SubsystemManager.AddSubsystem("intel", intelSubsystem); SubsystemManager.AddSubsystem("combat", combatSubsystem); SubsystemManager.AddSubsystem("monitor", monitorSubsystem); SubsystemManager.AddSubsystem("indicator", indicatorSubsystem); undockingTaskGenerator.AddTaskGenerator(new WaypointTaskGenerator(context.Program, autopilotSubsystem)); undockingTaskGenerator.AddTaskGenerator(new DockTaskGenerator(context.Program, autopilotSubsystem, dockingSubsystem)); undockingTaskGenerator.AddTaskGenerator(new HornetAttackTaskGenerator(context.Program, combatSubsystem, autopilotSubsystem, agentSubsystem, monitorSubsystem, intelSubsystem)); agentSubsystem.AddTaskGenerator(undockingTaskGenerator); agentSubsystem.AddTaskGenerator(new SetHomeTaskGenerator(context.Program, dockingSubsystem)); SubsystemManager.AddSubsystem("agent", agentSubsystem); SubsystemManager.AddSubsystem("scanner", new ScannerNetworkSubsystem(intelSubsystem)); }
public Program() { Context = new ExecutionContext(this); subsystemManager = new SubsystemManager(Context); Runtime.UpdateFrequency = UpdateFrequency.Update1; ParseConfigs(); // Add subsystems // Intel system setup IntelSubsystem intelSubsystem = new IntelSubsystem(1); Context.IntelSystem = intelSubsystem; subsystemManager.AddSubsystem("intel", intelSubsystem); LookingGlassNetworkSubsystem lookingGlassNetwork = null; // Looking Glass Setup if (LookingGlass) { lookingGlassNetwork = new LookingGlassNetworkSubsystem(intelSubsystem, "LG", !FixedLookingGlass, ThrusterLookingGlass); subsystemManager.AddSubsystem("lookingglass", lookingGlassNetwork); lookingGlassNetwork.AddPlugin("command", new LookingGlassPlugin_Command()); lookingGlassNetwork.AddPlugin("lidar", new LookingGlassPlugin_Lidar()); } // Hangar system setup HangarSubsystem hangarSubsystem = new HangarSubsystem(intelSubsystem); subsystemManager.AddSubsystem("hangar", hangarSubsystem); ScannerNetworkSubsystem scannerSubsystem = null; // Seeing-Eye scanner setup if (Scanner) { scannerSubsystem = new ScannerNetworkSubsystem(intelSubsystem, "SE"); subsystemManager.AddSubsystem("scanner", scannerSubsystem); } TorpedoSubsystem torpedoSubsystem = null; // Torpedo system setup if (Torpedos) { torpedoSubsystem = new TorpedoSubsystem(intelSubsystem); subsystemManager.AddSubsystem("torpedo", torpedoSubsystem); } lookingGlassNetwork?.AddPlugin("combat", new LookingGlassPlugin_Combat(torpedoSubsystem, hangarSubsystem, scannerSubsystem)); lookingGlassNetwork?.ActivatePlugin(DefaultLookingGlassPlugin); // // Command system setup TacticalCommandSubsystem tacticalSubsystem = new TacticalCommandSubsystem(intelSubsystem); subsystemManager.AddSubsystem("command", tacticalSubsystem); // Black ops // ECMInterfaceSubsystem ECM = new ECMInterfaceSubsystem(intelSubsystem); // subsystemManager.AddSubsystem("ECM", ECM); subsystemManager.AddSubsystem("loader", new CombatLoaderSubsystem(CombatLoaderCargo, CombatCargoStore)); subsystemManager.DeserializeManager(Storage); }