+ string[] list = Parse.List(atom);\r
+ if (list != null)\r
+ {\r
+ foreach (string item in list)\r
+ {\r
+ int[] range = Parse.Range(item);\r
+ if (range != null)\r
+ {\r
+ for (int i = range[0]; i <= range[1]; i++)\r
+ {\r
+ mMetadata.NumPlayers.Add(i);\r
+ }\r
+ continue;\r
+ }\r
+ int? integer = Parse.Integer(item);\r
+ if (integer != null)\r
+ {\r
+ mMetadata.NumPlayers.Add(integer.Value);\r
+ continue;\r
+ }\r
+\r
+ throw new Exception("Unexpected atom on line " + mInput.LineNumber + ": " + item);\r
+ }\r
+ if (mMetadata.NumPlayers.Count == 0)\r
+ {\r
+ throw new Exception("No numbers given on line " + mInput.LineNumber + ": " + atom);\r
+ }\r
+ }\r
+ else\r
+ {\r
+ throw new Exception("Unexpected value on line " + mInput.LineNumber + ": " + atom);\r
+ }\r