// Copyright (c) ppy Pty Ltd . Licensed under the MIT Licence. // See the LICENCE file in the repository root for full licence text. #nullable disable using System; namespace osu.Game.Screens.Select { public abstract class BeatmapDetailAreaTabItem : IEquatable { /// /// The name of this tab, to be displayed in the tab control. /// public abstract string Name { get; } /// /// Whether the contents of this tab can be filtered by the user's currently-selected mods. /// public virtual bool FilterableByMods => false; public override string ToString() => Name; public bool Equals(BeatmapDetailAreaTabItem other) { if (ReferenceEquals(null, other)) return false; if (ReferenceEquals(this, other)) return true; return Name == other.Name; } public override int GetHashCode() { return Name != null ? Name.GetHashCode() : 0; } } }