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);
        }