/// <summary> /// Constructs a new score table object. /// </summary> /// <param name="entries">The entries used in the table.</param> /// <param name="entryMethod">The configuration-defined preferred score entry method.</param> public ScoreTable(TableEntry[] entries, ScoreInputType entryMethod) { if (entries == null) { throw new ArgumentNullException("entries"); } if (entries.Length == 0) { throw new ArgumentException("Must provide at least one table entry"); } _entries = entries; _entryMethod = entryMethod; }
private static Dictionary <string, ScoreTable> Parse(XElement tableElements) { var tables = new Dictionary <string, ScoreTable>(); foreach (XElement tableElement in tableElements.Elements("template")) { string tableName = XmlHelper.GetAttributeValue(tableElement, "name"); if (tables.ContainsKey(tableName)) { throw XmlHelper.CreateException(tableElement, "Duplicate score table: " + tableName); } Debug.WriteLine("Loading score table: " + tableName); TableEntry[] tableEntries = GetTableEntries(tableElement); ScoreInputType inputMethod = GetInputMethod(tableElement); tables.Add(tableName, new ScoreTable(tableEntries, inputMethod)); } return(tables); }