public override int GetHashCode() { unchecked { int hash = 17; hash = hash * 23 + TitleUnicode.GetHashCode(); hash = hash * 23 + TitleRoman.GetHashCode(); hash = hash * 23 + ArtistUnicode.GetHashCode(); hash = hash * 23 + ArtistRoman.GetHashCode(); hash = hash * 23 + Creator.GetHashCode(); hash = hash * 23 + DiffName.GetHashCode(); hash = hash * 23 + Mp3Name.GetHashCode(); hash = hash * 23 + Md5.GetHashCode(); hash = hash * 23 + OsuFileName.GetHashCode(); hash = hash * 23 + Tags.GetHashCode(); hash = hash * 23 + Somestuff.GetHashCode(); hash = hash * 23 + _state.GetHashCode(); hash = hash * 23 + Circles.GetHashCode(); hash = hash * 23 + Sliders.GetHashCode(); hash = hash * 23 + Spinners.GetHashCode(); hash = hash * 23 + EditDate.GetHashCode(); hash = hash * 23 + ApproachRate.GetHashCode(); hash = hash * 23 + CircleSize.GetHashCode(); hash = hash * 23 + HpDrainRate.GetHashCode(); hash = hash * 23 + OverallDifficulty.GetHashCode(); hash = hash * 23 + SliderVelocity.GetHashCode(); hash = hash * 23 + DrainingTime.GetHashCode(); hash = hash * 23 + TotalTime.GetHashCode(); hash = hash * 23 + PreviewTime.GetHashCode(); hash = hash * 23 + MapId.GetHashCode(); hash = hash * 23 + MapSetId.GetHashCode(); hash = hash * 23 + ThreadId.GetHashCode(); hash = hash * 23 + OsuGrade.GetHashCode(); hash = hash * 23 + TaikoGrade.GetHashCode(); hash = hash * 23 + CatchGrade.GetHashCode(); hash = hash * 23 + ManiaGrade.GetHashCode(); hash = hash * 23 + Offset.GetHashCode(); hash = hash * 23 + StackLeniency.GetHashCode(); hash = hash * 23 + PlayMode.GetHashCode(); hash = hash * 23 + Source.GetHashCode(); hash = hash * 23 + AudioOffset.GetHashCode(); hash = hash * 23 + LetterBox.GetHashCode(); hash = hash * 23 + Played.GetHashCode(); hash = hash * 23 + LastPlayed.GetHashCode(); hash = hash * 23 + IsOsz2.GetHashCode(); hash = hash * 23 + Dir.GetHashCode(); //hash = hash * 23 + LastSync.GetHashCode(); //This value is updated by osu even if no changes were made to the actual data hash = hash * 23 + DisableHitsounds.GetHashCode(); hash = hash * 23 + DisableSkin.GetHashCode(); hash = hash * 23 + DisableSb.GetHashCode(); hash = hash * 23 + BgDim.GetHashCode(); hash = hash * 23 + ModPpStars.GetHashCode(); hash = hash * 23 + MaxBpm.GetHashCode(); hash = hash * 23 + MinBpm.GetHashCode(); hash = hash * 23 + MainBpm.GetHashCode(); return(hash); } }
public string ToDirect() => $"{DiffName.Replace("@", "")} " + $"({Math.Round(DifficultyRating, 2)}★~" + $"{Bpm}♫~AR" + $"{Ar}~OD" + $"{Od}~CS" + $"{Cs}~HP" + $"{Hp}~" + $"{(int)MathF.Floor(TotalLength) / 60}m" + $"{TotalLength % 60}s)@" + $"{(int)Mode},";
public override string ToString() => $"\nSetId: {Id}\n" + $"RankedStatus: {RankedStatus}\n" + $"Artist: {Artist}\n" + $"Title: {Title}\n" + $"Creator: {Creator}\n" + $"Tags: [{Tags.Join(", ")}]\n" + $"Modes: [{Mode.Select(s => s.ToString()).Join(", ")}]\n" + $"DiffNames: [{DiffName.Join(", ")}]\n" + $"Cs: [{Cs.Select(s => s.ToString()).Join(", ")}]\n" + $"Ar: [{Ar.Select(s => s.ToString()).Join(", ")}]\n" + $"Od: [{Od.Select(s => s.ToString()).Join(", ")}]\n" + $"Hp: [{Hp.Select(s => s.ToString()).Join(", ")}]\n" + $"DifficultyRating: [{DifficultyRating.Select(s => s.ToString(CultureInfo.InvariantCulture)).Join(", ")}]\n" + $"Bpm: [{Bpm.Select(s => s.ToString()).Join(", ")}]\n" + $"TotalLength: [{TotalLength.Select(s => s.ToString()).Join(", ")}]\n" + $"Genre: {Genre}\n" + $"Language: {Language}\n" + $"DiffName: [{Mode.Select(s => s.ToString()).Join(", ")}]\n" + $"ApprovedDate: {ApprovedDate}";