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); }