/// <summary> /// Parses the SGF Figure property /// Allows either empty or compose nubmer : simple text /// </summary> /// <param name="value">Value to parse</param> /// <returns>Parsed SGF Figure or null if none value</returns> public static ISgfPropertyValue FigureParser(string value) { if (value == null) { throw new ArgumentNullException(nameof(value)); } if (value == "") { //none value return(null); } //parse compose return(SgfComposePropertyValue <int, string> .Parse(value, SgfNumberValue.Parse, SgfSimpleTextValue.Parse)); }
/// <summary> /// Parses the size property value (SZ) /// Can be either nubmer or composed number : number /// </summary> /// <param name="value">Value to parse</param> public static ISgfPropertyValue SizeParser(string value) { if (value == null) { throw new ArgumentNullException(nameof(value)); } if (value.Contains(":")) { //non-square game board return(SgfComposePropertyValue <int, int> .Parse(value, SgfNumberValue.Parse, SgfNumberValue.Parse)); } //square game board return(SgfNumberValue.Parse(value)); }