// Copyright (c) ppy Pty Ltd . Licensed under the MIT Licence. // See the LICENCE file in the repository root for full licence text. using System; namespace osu.Game.Beatmaps.ControlPoints { public class ControlPoint : IComparable, IEquatable { /// /// The time at which the control point takes effect. /// public double Time; public int CompareTo(ControlPoint other) => Time.CompareTo(other.Time); /// /// Whether this provides the same parametric changes as another . /// Basically an equality check without considering the . /// /// The to compare to. /// Whether this is equivalent to . public virtual bool EquivalentTo(ControlPoint other) => true; public bool Equals(ControlPoint other) => EquivalentTo(other) && Time.Equals(other?.Time); } }