示例#1
0
        /// <summary>
        /// ノード全体を比較します。
        /// </summary>
        public bool NodeEquals(MoveNode other, bool compareComment)
        {
            if (ReferenceEquals(other, null))
            {
                return(false);
            }

            if (MoveCount != other.MoveCount)
            {
                return(false);
            }

            if (Move != other.Move)
            {
                return(false);
            }

            if (Duration != other.Duration)
            {
                return(false);
            }

            if (NextNodeCount != other.NextNodeCount)
            {
                return(false);
            }

            if (compareComment && !CommentList.SequenceEqual(other.CommentList))
            {
                return(false);
            }

            for (var i = 0; i < NextNodeCount; ++i)
            {
                if (!NextNodes[i].NodeEquals(other.NextNodes[i], compareComment))
                {
                    return(false);
                }
            }

            return(true);
        }