public static List <Player> Create(List <Player> loadCustomRoster) { if (loadCustomRoster.Any()) { customRoster = loadCustomRoster; } else { customRoster = new List <Player>(); } #region Player Initialization // Team Console.Clear(); newPlayerTeam = AssignPlayerTeam(); // Name Console.Clear(); TextFormat.Log("Team: " + newPlayerTeam + "\n"); newPlayerName = AssignPlayerName(); // Number Console.Clear(); TextFormat.Log("Team: " + newPlayerTeam + "\nName: " + newPlayerName + "\n"); newPlayerNumber = (byte)AssignPlayerNumber(); // Position Console.Clear(); TextFormat.Log("Team: " + newPlayerTeam + "\nName: " + newPlayerName + "\nNumber: " + newPlayerNumber + "\n"); newPlayerPosition = (Positions)AssignPlayerPosition(); #endregion #region Roster Validations Player newPlayer = new Player(newPlayerTeam, newPlayerName, newPlayerPosition, newPlayerNumber); Console.Clear(); Console.Write($"Checking {newPlayerTeam} roster"); for (int i = 0; i < 3; i++) { Thread.Sleep(625); Console.Write('.'); } Thread.Sleep(625); Console.WriteLine(); PositionValidation(newPlayer); NameNumberValidation(newPlayer); #endregion #region Stat Points Allocation Console.Clear(); TextFormat.Log($"Success! Welcome to the {newPlayerTeam}, {newPlayer.Name}!\n"); short spBank = (short)SelectDifficulty(); Console.Clear(); AllocatePoints(newPlayer, spBank); #endregion customRoster.Add(newPlayer); Console.Clear(); TextFormat.Green($"{newPlayer.Name} has been successfully added to the {newPlayerTeam.Name} roster!\n"); Thread.Sleep(1000); Console.WriteLine("Press any key to return to the main menu..."); Console.ReadKey(); return(customRoster); }