// Copyright (c) 2007-2018 ppy Pty Ltd . // Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE 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); } }