/// <summary> /// KifMoveNodeからMoveNodeへ構造を変換します。 /// </summary> public MoveNode ConvertToMoveNode(Board board, KifMoveNode head, out Exception error) { var errors = new List <Exception>(); var root = new MoveNode { MoveCount = head.MoveCount, Duration = head.Duration, Comment = head.Comment, }; // これでrootの子要素に指し手ツリーが設定されます。 ConvertToMoveNode(board, root, errors); error = ( !errors.Any() ? null : errors.Count() == 1 ? errors.FirstOrDefault() : new AggregateException(errors)); return(root); }
/// <summary> /// KifMoveNodeからMoveNodeへ構造を変換します。 /// </summary> public MoveNode ConvertToMoveNode(Board board, KifMoveNode head, out Exception error) { var errors = new List<Exception>(); var root = new MoveNode { MoveCount = head.MoveCount, Duration = head.Duration, Comment = head.Comment, }; // これでrootの子要素に指し手ツリーが設定されます。 ConvertToMoveNode(board, root, errors); error = ( !errors.Any() ? null : errors.Count() == 1 ? errors.FirstOrDefault() : new AggregateException(errors)); return root; }