private Optional <UciScore> NextScore(Queue <string> parts) { UciScoreBoundType boundType = UciScoreBoundType.Exact; UciScoreType type = UciScoreType.Cp; string typestr = parts.Dequeue(); if (typestr == "mate") { type = UciScoreType.Mate; } string valuestr = "0"; if (parts.Count != 0) { valuestr = parts.Dequeue(); if (parts.Count != 0) { string boundstr = parts.Peek(); if (boundstr == "lowerbound") { boundType = UciScoreBoundType.LowerBound; parts.Dequeue(); } else if (boundstr == "upperbound") { boundType = UciScoreBoundType.UpperBound; parts.Dequeue(); } } } return(Optional <UciScore> .Create(new UciScore( int.Parse(valuestr), type, boundType ))); }
#pragma warning restore IDE0052 // Remove unread private members public UciScore(int value, UciScoreType type, UciScoreBoundType boundType) { Value = value; Type = type; BoundType = boundType; }