// ReSharper restore UnusedMember.Local private static bool ParseCareerName( string input, out string name, out SaveFormats.OriginType originType, out SaveFormats.NotorietyType reputationType, out string className, out DateTime date) { name = null; className = null; originType = SaveFormats.OriginType.None; reputationType = SaveFormats.NotorietyType.None; date = DateTime.Now; var parts = input.Split('_'); if (parts.Length != 5) { return(false); } name = parts[0]; if (parts[1] == null || parts[1].Length != 2) { return(false); } switch (parts[1][0]) { case '0': { originType = SaveFormats.OriginType.None; break; } case '1': { originType = SaveFormats.OriginType.Spacer; break; } case '2': { originType = SaveFormats.OriginType.Colony; break; } case '3': { originType = SaveFormats.OriginType.Earthborn; break; } default: { return(false); } } switch (parts[1][1]) { case '0': { reputationType = SaveFormats.NotorietyType.None; break; } case '1': { reputationType = SaveFormats.NotorietyType.Survivor; break; } case '2': { reputationType = SaveFormats.NotorietyType.Warhero; break; } case '3': { reputationType = SaveFormats.NotorietyType.Ruthless; break; } default: { return(false); } } if (parts[2] == null) { return(false); } className = parts[2]; if (parts[3] == null || parts[3].Length != 6) { return(false); } if (parts[4] == null || parts[4].Length != 7) { return(false); } int day; if (int.TryParse(parts[3].Substring(0, 2), out day) == false) { return(false); } int month; if (int.TryParse(parts[3].Substring(2, 2), out month) == false) { return(false); } int year; if (int.TryParse(parts[3].Substring(4, 2), out year) == false) { return(false); } date = new DateTime(2000 + year, month, day); return(true); }
public PlayerOrigin(SaveFormats.OriginType type, string name) { this.Type = type; this.Name = name; }