diff --git a/osu.Game/Overlays/Mods/ModSelectOverlay.cs b/osu.Game/Overlays/Mods/ModSelectOverlay.cs
index 56cda6a9b5..4619b5748d 100644
--- a/osu.Game/Overlays/Mods/ModSelectOverlay.cs
+++ b/osu.Game/Overlays/Mods/ModSelectOverlay.cs
@@ -22,16 +22,12 @@ using osu.Game.Graphics.Containers;
using osu.Game.Rulesets;
using osu.Game.Graphics.UserInterface;
using osu.Game.Overlays.Mods.Sections;
+using osu.Game.Screens;
namespace osu.Game.Overlays.Mods
{
public class ModSelectOverlay : WaveOverlayContainer
{
- ///
- /// How much this container should overflow the sides of the screen to account for parallax shifting.
- ///
- private const float overflow_padding = 50;
-
private const float content_width = 0.8f;
protected Color4 LowMultiplierColour, HighMultiplierColour;
@@ -203,11 +199,7 @@ namespace osu.Game.Overlays.Mods
Waves.FourthWaveColour = OsuColour.FromHex(@"003a4e");
Height = 510;
- Padding = new MarginPadding
- {
- Left = -overflow_padding,
- Right = -overflow_padding
- };
+ Padding = new MarginPadding { Horizontal = -OsuScreen.HORIZONTAL_OVERFLOW_PADDING };
Children = new Drawable[]
{
@@ -267,11 +259,7 @@ namespace osu.Game.Overlays.Mods
AutoSizeAxes = Axes.Y,
Direction = FillDirection.Vertical,
Width = content_width,
- Padding = new MarginPadding
- {
- Left = overflow_padding,
- Right = overflow_padding
- },
+ Padding = new MarginPadding { Horizontal = OsuScreen.HORIZONTAL_OVERFLOW_PADDING },
Children = new Drawable[]
{
new OsuSpriteText
@@ -312,8 +300,7 @@ namespace osu.Game.Overlays.Mods
Padding = new MarginPadding
{
Vertical = 10,
- Left = overflow_padding,
- Right = overflow_padding
+ Horizontal = -OsuScreen.HORIZONTAL_OVERFLOW_PADDING
},
Child = ModSectionsContainer = new FillFlowContainer
{
@@ -361,8 +348,7 @@ namespace osu.Game.Overlays.Mods
Padding = new MarginPadding
{
Vertical = 15,
- Left = overflow_padding,
- Right = overflow_padding
+ Horizontal = OsuScreen.HORIZONTAL_OVERFLOW_PADDING
},
Children = new Drawable[]
{
diff --git a/osu.Game/Screens/Multi/Header.cs b/osu.Game/Screens/Multi/Header.cs
index 5ab94d4b2e..3448a23ac8 100644
--- a/osu.Game/Screens/Multi/Header.cs
+++ b/osu.Game/Screens/Multi/Header.cs
@@ -37,7 +37,7 @@ namespace osu.Game.Screens.Multi
new Container
{
RelativeSizeAxes = Axes.Both,
- Padding = new MarginPadding { Horizontal = SearchableListOverlay.WIDTH_PADDING + Multiplayer.OVERFLOW_PADDING },
+ Padding = new MarginPadding { Horizontal = SearchableListOverlay.WIDTH_PADDING + OsuScreen.HORIZONTAL_OVERFLOW_PADDING },
Children = new Drawable[]
{
new FillFlowContainer
diff --git a/osu.Game/Screens/Multi/Lounge/Components/FilterControl.cs b/osu.Game/Screens/Multi/Lounge/Components/FilterControl.cs
index c982a26a58..64b9959f57 100644
--- a/osu.Game/Screens/Multi/Lounge/Components/FilterControl.cs
+++ b/osu.Game/Screens/Multi/Lounge/Components/FilterControl.cs
@@ -13,7 +13,7 @@ namespace osu.Game.Screens.Multi.Lounge.Components
protected override Color4 BackgroundColour => OsuColour.FromHex(@"362e42");
protected override PrimaryFilter DefaultTab => PrimaryFilter.Open;
- protected override float InternalPadding => Multiplayer.OVERFLOW_PADDING;
+ protected override float InternalPadding => OsuScreen.HORIZONTAL_OVERFLOW_PADDING;
public FilterControl()
{
diff --git a/osu.Game/Screens/Multi/Lounge/LoungeSubScreen.cs b/osu.Game/Screens/Multi/Lounge/LoungeSubScreen.cs
index 10b778fdd5..db0f105e0e 100644
--- a/osu.Game/Screens/Multi/Lounge/LoungeSubScreen.cs
+++ b/osu.Game/Screens/Multi/Lounge/LoungeSubScreen.cs
@@ -91,8 +91,8 @@ namespace osu.Game.Screens.Multi.Lounge
content.Padding = new MarginPadding
{
Top = Filter.DrawHeight,
- Left = SearchableListOverlay.WIDTH_PADDING - DrawableRoom.SELECTION_BORDER_WIDTH + Multiplayer.OVERFLOW_PADDING,
- Right = SearchableListOverlay.WIDTH_PADDING + Multiplayer.OVERFLOW_PADDING,
+ Left = SearchableListOverlay.WIDTH_PADDING - DrawableRoom.SELECTION_BORDER_WIDTH + HORIZONTAL_OVERFLOW_PADDING,
+ Right = SearchableListOverlay.WIDTH_PADDING + HORIZONTAL_OVERFLOW_PADDING,
};
}
diff --git a/osu.Game/Screens/Multi/Match/Components/Header.cs b/osu.Game/Screens/Multi/Match/Components/Header.cs
index 98ade5764e..29546f9b06 100644
--- a/osu.Game/Screens/Multi/Match/Components/Header.cs
+++ b/osu.Game/Screens/Multi/Match/Components/Header.cs
@@ -70,7 +70,7 @@ namespace osu.Game.Screens.Multi.Match.Components
new Container
{
RelativeSizeAxes = Axes.Both,
- Padding = new MarginPadding { Horizontal = SearchableListOverlay.WIDTH_PADDING + Multiplayer.OVERFLOW_PADDING },
+ Padding = new MarginPadding { Horizontal = SearchableListOverlay.WIDTH_PADDING + OsuScreen.HORIZONTAL_OVERFLOW_PADDING },
Children = new Drawable[]
{
new FillFlowContainer
diff --git a/osu.Game/Screens/Multi/Match/Components/Info.cs b/osu.Game/Screens/Multi/Match/Components/Info.cs
index e767ae7f98..7894385afb 100644
--- a/osu.Game/Screens/Multi/Match/Components/Info.cs
+++ b/osu.Game/Screens/Multi/Match/Components/Info.cs
@@ -41,7 +41,7 @@ namespace osu.Game.Screens.Multi.Match.Components
{
RelativeSizeAxes = Axes.X,
AutoSizeAxes = Axes.Y,
- Padding = new MarginPadding { Horizontal = SearchableListOverlay.WIDTH_PADDING + Multiplayer.OVERFLOW_PADDING },
+ Padding = new MarginPadding { Horizontal = SearchableListOverlay.WIDTH_PADDING + OsuScreen.HORIZONTAL_OVERFLOW_PADDING },
Children = new Drawable[]
{
new FillFlowContainer
diff --git a/osu.Game/Screens/Multi/Match/Components/MatchSettingsOverlay.cs b/osu.Game/Screens/Multi/Match/Components/MatchSettingsOverlay.cs
index d75f297389..5b9402683e 100644
--- a/osu.Game/Screens/Multi/Match/Components/MatchSettingsOverlay.cs
+++ b/osu.Game/Screens/Multi/Match/Components/MatchSettingsOverlay.cs
@@ -81,7 +81,7 @@ namespace osu.Game.Screens.Multi.Match.Components
{
Padding = new MarginPadding
{
- Horizontal = Multiplayer.OVERFLOW_PADDING,
+ Horizontal = OsuScreen.HORIZONTAL_OVERFLOW_PADDING,
Vertical = 10
},
RelativeSizeAxes = Axes.Both,
@@ -214,7 +214,7 @@ namespace osu.Game.Screens.Multi.Match.Components
Direction = FillDirection.Vertical,
Spacing = new Vector2(0, 20),
Margin = new MarginPadding { Vertical = 20 },
- Padding = new MarginPadding { Horizontal = Multiplayer.OVERFLOW_PADDING },
+ Padding = new MarginPadding { Horizontal = OsuScreen.HORIZONTAL_OVERFLOW_PADDING },
Children = new Drawable[]
{
ApplyButton = new CreateRoomButton
diff --git a/osu.Game/Screens/Multi/Match/MatchSubScreen.cs b/osu.Game/Screens/Multi/Match/MatchSubScreen.cs
index d1f0d009cc..1b0efbdf09 100644
--- a/osu.Game/Screens/Multi/Match/MatchSubScreen.cs
+++ b/osu.Game/Screens/Multi/Match/MatchSubScreen.cs
@@ -77,7 +77,7 @@ namespace osu.Game.Screens.Multi.Match
{
Padding = new MarginPadding
{
- Left = 10 + Multiplayer.OVERFLOW_PADDING,
+ Left = 10 + HORIZONTAL_OVERFLOW_PADDING,
Right = 10,
Vertical = 10,
},
@@ -89,7 +89,7 @@ namespace osu.Game.Screens.Multi.Match
Padding = new MarginPadding
{
Left = 10,
- Right = 10 + Multiplayer.OVERFLOW_PADDING,
+ Right = 10 + HORIZONTAL_OVERFLOW_PADDING,
Vertical = 10,
},
RelativeSizeAxes = Axes.Both,
@@ -121,8 +121,9 @@ namespace osu.Game.Screens.Multi.Match
header.OnRequestSelectBeatmap = () => Push(new MatchSongSelect
{
Selected = addPlaylistItem,
- Padding = new MarginPadding { Horizontal = Multiplayer.OVERFLOW_PADDING }
+ Padding = new MarginPadding { Horizontal = HORIZONTAL_OVERFLOW_PADDING }
});
+
header.Tabs.Current.ValueChanged += t =>
{
const float fade_duration = 500;
diff --git a/osu.Game/Screens/Multi/Multiplayer.cs b/osu.Game/Screens/Multi/Multiplayer.cs
index b2c2b4817d..da15574029 100644
--- a/osu.Game/Screens/Multi/Multiplayer.cs
+++ b/osu.Game/Screens/Multi/Multiplayer.cs
@@ -26,11 +26,6 @@ namespace osu.Game.Screens.Multi
[Cached]
public class Multiplayer : OsuScreen, IOnlineComponent
{
- ///
- /// How much this container should overflow the sides of the screen to account for parallax shifting.
- ///
- public const float OVERFLOW_PADDING = 50;
-
private readonly MultiplayerWaveContainer waves;
public override bool AllowBeatmapRulesetChange => currentSubScreen?.AllowBeatmapRulesetChange ?? base.AllowBeatmapRulesetChange;
@@ -53,7 +48,7 @@ namespace osu.Game.Screens.Multi
RelativeSizeAxes = Axes.Both,
};
- Padding = new MarginPadding { Horizontal = -OVERFLOW_PADDING };
+ Padding = new MarginPadding { Horizontal = -HORIZONTAL_OVERFLOW_PADDING };
waves.AddRange(new Drawable[]
{
@@ -93,7 +88,7 @@ namespace osu.Game.Screens.Multi
Margin = new MarginPadding
{
Top = 10,
- Right = 10 + OVERFLOW_PADDING,
+ Right = 10 + HORIZONTAL_OVERFLOW_PADDING,
},
Text = "Create room",
Action = () => loungeSubScreen.Push(new Room
diff --git a/osu.Game/Screens/OsuScreen.cs b/osu.Game/Screens/OsuScreen.cs
index d65c582eb1..45789d7892 100644
--- a/osu.Game/Screens/OsuScreen.cs
+++ b/osu.Game/Screens/OsuScreen.cs
@@ -23,6 +23,12 @@ namespace osu.Game.Screens
{
public abstract class OsuScreen : Screen, IKeyBindingHandler, IHasDescription
{
+ ///
+ /// The amount of negative padding that should be applied to game background content which touches both the left and right sides of the screen.
+ /// This allows for the game content to be pushed byt he options/notification overlays without causing black areas to appear.
+ ///
+ public const float HORIZONTAL_OVERFLOW_PADDING = 50;
+
public BackgroundScreen Background { get; private set; }
///