public static bool AreEqual(SequencePath lhs, SequencePath rhs) { if (ReferenceEquals(lhs, null) && ReferenceEquals(rhs, null)) { return(true); } if (ReferenceEquals(lhs, null) || ReferenceEquals(rhs, null)) { return(false); } if (ReferenceEquals(lhs, rhs)) { return(true); } var result = lhs.selectionRoot == rhs.selectionRoot && lhs.subElements.Count == rhs.subElements.Count; if (!result) { return(false); } for (int i = 0, n = lhs.subElements.Count; i < n; ++i) { result = result && SequencePathSubElement.AreEqual(lhs.subElements[i], rhs.subElements[i]); } return(result); }
public static bool AreEqual(SequencePathSubElement lhs, SequencePathSubElement rhs) { if (ReferenceEquals(lhs, null) && ReferenceEquals(rhs, null)) { return(true); } if (ReferenceEquals(lhs, null) || ReferenceEquals(rhs, null)) { return(false); } if (ReferenceEquals(lhs, rhs)) { return(true); } return(lhs.trackInstanceID == rhs.trackInstanceID && lhs.trackHash == rhs.trackHash && lhs.clipIndex == rhs.clipIndex && lhs.clipHash == rhs.clipHash && lhs.subDirectorIndex == rhs.subDirectorIndex); }
public void AddSubSequence(ISequenceState state, IExposedPropertyTable resolver) { subElements.Add(SequencePathSubElement.Create(state, resolver)); }