diff --git a/osu.Game/Rulesets/UI/DrawableRuleset.cs b/osu.Game/Rulesets/UI/DrawableRuleset.cs
index c839062875..d57aec1271 100644
--- a/osu.Game/Rulesets/UI/DrawableRuleset.cs
+++ b/osu.Game/Rulesets/UI/DrawableRuleset.cs
@@ -194,16 +194,11 @@ namespace osu.Game.Rulesets.UI
Audio = audioContainer;
- if (UseResumeOverlay)
+ if ((ResumeOverlay = CreateResumeOverlay()) != null)
{
- if ((ResumeOverlay = CreateResumeOverlay()) == null)
- UseResumeOverlay = false;
- else
- {
- AddInternal(CreateInputManager()
- .WithChild(CreatePlayfieldAdjustmentContainer()
- .WithChild(ResumeOverlay)));
- }
+ AddInternal(CreateInputManager()
+ .WithChild(CreatePlayfieldAdjustmentContainer()
+ .WithChild(ResumeOverlay)));
}
applyRulesetMods(Mods, config);
@@ -515,7 +510,10 @@ namespace osu.Game.Rulesets.UI
///
/// Whether the should be used to return the user's cursor position to its previous location after a pause.
///
- /// Defaults to true, but will become false if the ruleset fails to return a non-null overlay via .
+ ///
+ /// Defaults to true.
+ /// Even if true, will not have any effect if the ruleset does not have a resume overlay (see ).
+ ///
public bool UseResumeOverlay { get; set; } = true;
///
@@ -542,6 +540,11 @@ namespace osu.Game.Rulesets.UI
}
}
+ ///
+ /// Create an optional resume overlay, which is displayed when a player requests to resume gameplay during non-break time.
+ /// This can be used to force the player to return their hands / cursor to the position they left off, to avoid players
+ /// using pauses as a means of adjusting their inputs (aka "pause buffering").
+ ///
protected virtual ResumeOverlay CreateResumeOverlay() => null;
///