예제 #1
0
 /// <summary>
 /// Writes each tag and the tag termination character
 /// </summary>
 /// <param name="writer"></param>
 /// <param name="tagsToSerialize"></param>
 public void Serialize(PgnWriter writer, Tags tagsToSerialize)
 {
     Serialize(writer, Convert(tagsToSerialize.RequiredTags));
     if (!_options.KeepOnlyRequiredTags)
     {
         Serialize(writer, Convert(tagsToSerialize.SupplementalTags));
     }
     writer.WriteNewLine();
 }
예제 #2
0
        /// <summary>
        ///     Writes move section in PGN form.
        /// </summary>
        /// <param name="node">The starting node.</param>
        /// <param name="pgnWriter">The writer used to write the information.</param>
        public void Serialize(MoveTreeNode <PostMoveState> node, PgnWriter pgnWriter)
        {
            var enumerator = new GameToPgnEnumerator(node);

            while (enumerator.MoveNext())
            {
                var move = enumerator.Current;
                pgnWriter.WriteMove(move);
            }
        }
예제 #3
0
        private void Serialize(PgnWriter writer, IEnumerable <string> tagPairs)
        {
            var arrTagPairs = tagPairs as string[] ?? tagPairs.ToArray();

            if (!arrTagPairs.Any())
            {
                return;
            }
            foreach (var tag in arrTagPairs)
            {
                writer.WriteTag(tag);
            }
        }