public static List <string> GenerateUnitReadout(GameUnit myUnit, List <GameUnit> allUnits = null) { List <string> readout = new List <string>() { }; readout.Add(string.Empty); readout.Add(boundary); readout.Add($"* {myUnit.ToString(), -(ReadoutWidth - 4)} *"); readout.Add(separator); readout.Add(string.Format(outputFormat, "Status", myUnit.Status)); readout.Add(string.Format(outputFormat, "Screen Rating", myUnit.GetLocalScreenRating())); readout.Add(string.Format(outputFormat, "Area Screen Rating", myUnit.GetAreaScreenRating())); readout.Add(string.Format(outputFormat, "Armor", myUnit.Armor.ToString())); readout.Add(string.Format(outputFormat, "Hull", myUnit.Hull.ToString())); readout.AddRange(PrintReadoutCollection("Hull", myUnit.Hull.HullDisplay(), SuppressTitleLineForHullMatrix)); readout.Add(string.Format(outputFormat, "Crew", myUnit.CrewQuality)); readout.Add(separator); readout.Add(string.Format(outputFormat, "MainDrive", myUnit.MainDrive.ToString())); readout.Add(string.Format(outputFormat, "FTLDrive", myUnit.FtlDrive.ToString())); readout.Add(separator); readout.AddRange(PrintReadoutCollection("Electronics", myUnit.Electronics)); readout.AddRange(PrintReadoutCollection("Defenses", myUnit.Defenses)); readout.AddRange(PrintReadoutCollection("Holds", myUnit.Holds)); readout.AddRange(PrintReadoutCollection("Weapons", myUnit.Weapons)); readout.AddRange(PrintReadoutCollection("Log", myUnit.Log)); readout.Add(separator); readout.Add($"* {"Source: " + myUnit.SourceFile, -(ReadoutWidth - 4)} *"); readout.Add(boundary); return(readout); }