From cd98af29c409b190c4bd294f026c219c5b0f7a89 Mon Sep 17 00:00:00 2001 From: Dean Herbert Date: Fri, 17 Mar 2017 11:53:13 +0900 Subject: [PATCH] Only calculate difficulties on import for now. --- osu.Game/Beatmaps/Drawables/BeatmapGroup.cs | 2 -- osu.Game/Beatmaps/Drawables/BeatmapPanel.cs | 2 +- osu.Game/Database/BeatmapDatabase.cs | 2 ++ osu.Game/Database/BeatmapInfo.cs | 11 +---------- osu.Game/Database/BeatmapSetInfo.cs | 2 +- 5 files changed, 5 insertions(+), 14 deletions(-) diff --git a/osu.Game/Beatmaps/Drawables/BeatmapGroup.cs b/osu.Game/Beatmaps/Drawables/BeatmapGroup.cs index 2cccbc322a..a2824f01e3 100644 --- a/osu.Game/Beatmaps/Drawables/BeatmapGroup.cs +++ b/osu.Game/Beatmaps/Drawables/BeatmapGroup.cs @@ -63,8 +63,6 @@ namespace osu.Game.Beatmaps.Drawables { BeatmapSet = beatmapSet; WorkingBeatmap beatmap = database.GetWorkingBeatmap(BeatmapSet.Beatmaps.FirstOrDefault()); - foreach (var b in BeatmapSet.Beatmaps) - b.StarDifficulty = (float)(database.GetWorkingBeatmap(b).Beatmap?.CalculateStarDifficulty() ?? -1f); Header = new BeatmapSetHeader(beatmap) { diff --git a/osu.Game/Beatmaps/Drawables/BeatmapPanel.cs b/osu.Game/Beatmaps/Drawables/BeatmapPanel.cs index aa5891c37e..191cb405d0 100644 --- a/osu.Game/Beatmaps/Drawables/BeatmapPanel.cs +++ b/osu.Game/Beatmaps/Drawables/BeatmapPanel.cs @@ -138,7 +138,7 @@ namespace osu.Game.Beatmaps.Drawables }, starCounter = new StarCounter { - Count = beatmap.StarDifficulty, + Count = (float)beatmap.StarDifficulty, Scale = new Vector2(0.8f), } } diff --git a/osu.Game/Database/BeatmapDatabase.cs b/osu.Game/Database/BeatmapDatabase.cs index b3d48c152f..ef1444ffa4 100644 --- a/osu.Game/Database/BeatmapDatabase.cs +++ b/osu.Game/Database/BeatmapDatabase.cs @@ -236,6 +236,8 @@ namespace osu.Game.Database // TODO: Diff beatmap metadata with set metadata and leave it here if necessary beatmap.BeatmapInfo.Metadata = null; + beatmap.BeatmapInfo.StarDifficulty = beatmap.CalculateStarDifficulty(); + beatmapSet.Beatmaps.Add(beatmap.BeatmapInfo); } beatmapSet.StoryboardFile = archive.StoryboardFilename; diff --git a/osu.Game/Database/BeatmapInfo.cs b/osu.Game/Database/BeatmapInfo.cs index 5f9c0baee8..cda9cba70c 100644 --- a/osu.Game/Database/BeatmapInfo.cs +++ b/osu.Game/Database/BeatmapInfo.cs @@ -75,16 +75,7 @@ namespace osu.Game.Database // Metadata public string Version { get; set; } - private float starDifficulty = -1; - public float StarDifficulty - { - get - { - return starDifficulty < 0 ? (Difficulty?.OverallDifficulty ?? 5) : starDifficulty; - } - - set { starDifficulty = value; } - } + public double StarDifficulty { get; set; } public bool Equals(BeatmapInfo other) { diff --git a/osu.Game/Database/BeatmapSetInfo.cs b/osu.Game/Database/BeatmapSetInfo.cs index 12247c3997..0ef0ba4c63 100644 --- a/osu.Game/Database/BeatmapSetInfo.cs +++ b/osu.Game/Database/BeatmapSetInfo.cs @@ -24,7 +24,7 @@ namespace osu.Game.Database [OneToMany(CascadeOperations = CascadeOperation.All)] public List Beatmaps { get; set; } - public float MaxStarDifficulty => Beatmaps.Max(b => b.StarDifficulty); + public double MaxStarDifficulty => Beatmaps.Max(b => b.StarDifficulty); public bool DeletePending { get; set; }