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