public PlayerNotoriety(SaveFormats.NotorietyType type, string name)
 {
     this.Type = type;
     this.Name = name;
 }
Exemple #2
0
        // 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);
        }