// 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 changes to gameplay as another . /// /// The to compare to. /// Whether this provides the same changes to gameplay as . public virtual bool ChangeEquals(ControlPoint other) => !ReferenceEquals(null, other); public bool Equals(ControlPoint other) => ChangeEquals(other) && !ReferenceEquals(null, other) && Time.Equals(other.Time); } }