diff --git a/osu.Game/Screens/Edit/EditorBeatmap.cs b/osu.Game/Screens/Edit/EditorBeatmap.cs
index 3248c5b8be..d37b7dd2b5 100644
--- a/osu.Game/Screens/Edit/EditorBeatmap.cs
+++ b/osu.Game/Screens/Edit/EditorBeatmap.cs
@@ -258,5 +258,14 @@ namespace osu.Game.Screens.Edit
public double GetBeatLengthAtTime(double referenceTime) => ControlPointInfo.TimingPointAt(referenceTime).BeatLength / BeatDivisor;
public int BeatDivisor => beatDivisor?.Value ?? 1;
+
+ ///
+ /// Update all hit objects with potentially changed difficulty or control point data.
+ ///
+ public void UpdateBeatmap()
+ {
+ foreach (var h in HitObjects)
+ pendingUpdates.Add(h);
+ }
}
}
diff --git a/osu.Game/Screens/Edit/Setup/DifficultySection.cs b/osu.Game/Screens/Edit/Setup/DifficultySection.cs
index 0434c1cf1f..ce6f617f37 100644
--- a/osu.Game/Screens/Edit/Setup/DifficultySection.cs
+++ b/osu.Game/Screens/Edit/Setup/DifficultySection.cs
@@ -13,6 +13,9 @@ namespace osu.Game.Screens.Edit.Setup
{
internal class DifficultySection : SetupSection
{
+ [Resolved]
+ private EditorBeatmap editorBeatmap { get; set; }
+
private LabelledSliderBar circleSizeSlider;
private LabelledSliderBar healthDrainSlider;
private LabelledSliderBar approachRateSlider;
@@ -81,6 +84,8 @@ namespace osu.Game.Screens.Edit.Setup
Beatmap.Value.BeatmapInfo.BaseDifficulty.DrainRate = healthDrainSlider.Current.Value;
Beatmap.Value.BeatmapInfo.BaseDifficulty.ApproachRate = approachRateSlider.Current.Value;
Beatmap.Value.BeatmapInfo.BaseDifficulty.OverallDifficulty = overallDifficultySlider.Current.Value;
+
+ editorBeatmap.UpdateBeatmap();
}
}
}