public Program()
        {
            subsystemManager        = new SubsystemManager(this);
            Runtime.UpdateFrequency = UpdateFrequency.Update1;

            AutopilotSubsystem         = new AutopilotSubsystem();
            AutopilotSubsystem.Persist = true;
            IntelSubsystem             = new IntelSubsystem();
            CombatSubsystem            = new HornetCombatSubsystem(IntelSubsystem);
            LookingGlassNetwork        = new LookingGlassNetworkSubsystem(IntelSubsystem, "LG", false, false);
            AgentSubsystem             = new AgentSubsystem(IntelSubsystem, AgentClass.None);
            TorpedoSubsystem           = new TorpedoSubsystem(IntelSubsystem);
            TaskGenerator = new HornetAttackTaskGenerator(this, CombatSubsystem, AutopilotSubsystem, AgentSubsystem, null, IntelSubsystem);
            AgentSubsystem.AddTaskGenerator(TaskGenerator);
            TaskGenerator.HornetAttackTask.FocusedTarget = true;
            CombatLoaderSubsystem = new CombatLoaderSubsystem("Fermi Cargo", "Combat Supplies");

            ScannerSubsystem = new ScannerNetworkSubsystem(IntelSubsystem);
            LookingGlassNetwork.AddPlugin("combat", new LookingGlass_Heisenberg(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.DeserializeManager(Storage);
        }
Beispiel #2
0
//         {
//             { 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();
        }