diff --git a/Program.cs b/Program.cs index d0763e5..5b320db 100644 --- a/Program.cs +++ b/Program.cs @@ -391,7 +391,8 @@ namespace IngameScript Echo("Polling..."); List connectors = new List(); - // Get all connectors on the grid + // Get all connectors on the grid that are managed by the script + Echo($"Retrieving connectors, filtering by \"{_connectorPrefix}\"..."); GridTerminalSystem.GetBlocksOfType( connectors, connector => @@ -403,13 +404,39 @@ namespace IngameScript { foreach (IMyShipConnector connector in connectors) { - if (connector.IsConnected == _isDocked) + if (connector.IsConnected == true) { + Echo($"Connector '{connector.CustomName}' is connected. Exiting."); return; } + else + { + Echo( + $"Connector '{connector.CustomName}' is not connected. Continuing." + ); + } } + Echo("No connectors are connected. Undocking..."); Undock(); } + else if (_isDocked == false) + { + foreach (IMyShipConnector connector in connectors) + { + if (connector.IsConnected == true) + { + Echo($"Connector '{connector.CustomName}' is connected. Docking..."); + Dock(); + break; + } + else + { + Echo( + $"Connector '{connector.CustomName}' is not connected. Continuing." + ); + } + } + } } else {