namespace Sandbox.ModAPI.Ingame { public class Main { void Main() { IMyBlockGroup batteryGroup = GridTerminalSystem.GetBlockGroupWithName("Batteries"); List batteries = new List(); batteryGroup.GetBlocksOfType(batteries, block => block.IsSameConstructAs(Me)); List engines = new List(); GridTerminalSystem.GetBlockGroupWithName("Engines").GetBlocks(engines, block => block.IsSameConstructAs(Me)); IMyShipConnector connector = GridTerminalSystem.GetBlockWithName("Connector") as IMyShipConnector; if (connector.Status == MyShipConnectorStatus.Connectable) { connector.GetActionWithName("SwitchLock").Apply(connector); if (connector.Status != MyShipConnectorStatus.Connected) { return; } foreach (var engine in engines) { engine.GetActionWithName("OnOff_Off").Apply(engine); } foreach (var battery in batteries) { battery.GetActionWithName("Recharge").Apply(battery); } } else if (connector.Status == MyShipConnectorStatus.Connected) { foreach (var battery in batteries) { battery.GetActionWithName("Auto").Apply(battery); } foreach (var engine in engines) { engine.GetActionWithName("OnOff_On").Apply(engine); } connector.GetActionWithName("SwitchLock").Apply(connector); } } } }