public static string DumpLink(CommLink link) { return($"A/B/Both CanRelay: {link.aCanRelay}/{link.bCanRelay}/{link.bothRelay}\n" + $"StrengthAR/BR/RR: {link.strengthAR}/{link.strengthBR}/{link.strengthRR}\n" + $"Best signal: {link.GetBestSignal()}" + $"Cost: {link.cost}\n" + $"Start: {link.start}\n" + $"End: {link.end}\n" + $"GetSignalStrength(start) / (end) / (no relays) / (both relays): {link.GetSignalStrength(link.start)}/{link.GetSignalStrength(link.end)}/{link.GetSignalStrength(false, false)}/{link.GetSignalStrength(true, true)}\n" + $"signalStrength: {link.signalStrength}"); /* Some sample results: * [LOG 13:25:45.815] [RealAntennasCommNetwork] [Trace] Link: Kerbin: Mesa South -to- RA-1-CS16 : 150727254.72 (Green) * [LOG 13:25:45.815] [RealAntennasCommNetwork] [Trace] A/B/Both CanRelay: True/False/False * StrengthAR/BR/RR: 0.609718471365098/0/0 * Best signal: 0.609718471365098 Cost: 150727254.721891 * Start: Node: Kerbin: Mesa South Links=3 : Home Control MultiHop : RealAntennas Gain:40dBi TxP:60dBm BW:10000KHz Draw:60dBm Coding:12dB * End: Node: RA-1-CS16 Links=6 : : RealAntennas Gain:6dBi TxP:30dBm BW:10000KHz Draw:33dBm Coding:1dB * GetSignalStrength(start): 0 * GetSignalStrength(end): 0.609718471365098 * GetSignalStrength(no relays): 0 * * Note the different Strength fields based on A/B/Both Relay state. So... there can be a notion of direction? */ }