コード例 #1
0
        private Warscroll GetWarscroll(string[] parts)
        {
            var warscroll = new Warscroll();
            int nextIndex = GetName(parts, 1, warscroll);

            warscroll.UnitSizeMin = GetInt(parts[nextIndex]);
            warscroll.UnitSizeMax = GetInt(parts[++nextIndex]);
            warscroll.Points      = GetInt(parts[++nextIndex]);

            if (parts.Length > nextIndex + 1 && !string.IsNullOrEmpty(parts[nextIndex + 1]))
            {
                warscroll.Role  = parts[++nextIndex].Replace(",", string.Empty);
                warscroll.Notes = string.Join(" ", parts.Skip(nextIndex));
            }

            return(warscroll);
        }
コード例 #2
0
        private static int GetName(string[] parts, int startIndex, Warscroll warscroll)
        {
            var name = string.Empty;

            for (var index = startIndex; index < parts.Length; index++)
            {
                var t = parts[index];
                int k = 0;

                if (int.TryParse(t, out k))
                {
                    warscroll.Name = name.TrimStart();
                    return(index);
                }

                name += $" {t}";
            }

            return(-1);
        }