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; ///