mirror of
https://github.com/ppy/osu.git
synced 2025-02-12 16:35:37 +08:00
Add overflow padding to account for parallax shifting
Added overflow padding in the Multiplayer screen, and adjusting content (LoungeSubScreen, FilterControl, Header, "Create Room" button) to account for this padding.
This commit is contained in:
parent
d53386cf4b
commit
7ac20c3545
@ -28,6 +28,12 @@ namespace osu.Game.Overlays.SearchableList
|
||||
protected abstract T DefaultTab { get; }
|
||||
protected virtual Drawable CreateSupplementaryControls() => null;
|
||||
|
||||
/// <summary>
|
||||
/// Add padding to internal components of the control.
|
||||
/// This does not affect the background and the tab strip.
|
||||
/// </summary>
|
||||
protected virtual float InternalPadding => 0;
|
||||
|
||||
protected SearchableListFilterControl()
|
||||
{
|
||||
if (!typeof(T).IsEnum)
|
||||
@ -62,7 +68,11 @@ namespace osu.Game.Overlays.SearchableList
|
||||
{
|
||||
RelativeSizeAxes = Axes.X,
|
||||
AutoSizeAxes = Axes.Y,
|
||||
Padding = new MarginPadding { Top = padding, Horizontal = SearchableListOverlay.WIDTH_PADDING },
|
||||
Padding = new MarginPadding
|
||||
{
|
||||
Top = padding,
|
||||
Horizontal = SearchableListOverlay.WIDTH_PADDING + InternalPadding
|
||||
},
|
||||
Children = new Drawable[]
|
||||
{
|
||||
Search = new FilterSearchTextBox
|
||||
|
@ -37,7 +37,7 @@ namespace osu.Game.Screens.Multi
|
||||
new Container
|
||||
{
|
||||
RelativeSizeAxes = Axes.Both,
|
||||
Padding = new MarginPadding { Horizontal = SearchableListOverlay.WIDTH_PADDING },
|
||||
Padding = new MarginPadding { Horizontal = SearchableListOverlay.WIDTH_PADDING + Multiplayer.OVERFLOW_PADDING },
|
||||
Children = new Drawable[]
|
||||
{
|
||||
new FillFlowContainer
|
||||
|
@ -13,6 +13,8 @@ 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;
|
||||
|
||||
public FilterControl()
|
||||
{
|
||||
DisplayStyleControl.Hide();
|
||||
|
@ -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,
|
||||
Right = SearchableListOverlay.WIDTH_PADDING,
|
||||
Left = SearchableListOverlay.WIDTH_PADDING - DrawableRoom.SELECTION_BORDER_WIDTH + Multiplayer.OVERFLOW_PADDING,
|
||||
Right = SearchableListOverlay.WIDTH_PADDING + Multiplayer.OVERFLOW_PADDING,
|
||||
};
|
||||
}
|
||||
|
||||
|
@ -26,6 +26,11 @@ namespace osu.Game.Screens.Multi
|
||||
[Cached]
|
||||
public class Multiplayer : OsuScreen, IOnlineComponent
|
||||
{
|
||||
/// <summary>
|
||||
///How much this container should overflow the sides of the screen to account for parallax shifting.
|
||||
/// </summary>
|
||||
public const float OVERFLOW_PADDING = 50;
|
||||
|
||||
private readonly MultiplayerWaveContainer waves;
|
||||
|
||||
public override bool AllowBeatmapRulesetChange => currentSubScreen?.AllowBeatmapRulesetChange ?? base.AllowBeatmapRulesetChange;
|
||||
@ -48,6 +53,12 @@ namespace osu.Game.Screens.Multi
|
||||
RelativeSizeAxes = Axes.Both,
|
||||
};
|
||||
|
||||
Padding = new MarginPadding
|
||||
{
|
||||
Left = -OVERFLOW_PADDING,
|
||||
Right = -OVERFLOW_PADDING
|
||||
};
|
||||
|
||||
waves.AddRange(new Drawable[]
|
||||
{
|
||||
new Container
|
||||
@ -86,7 +97,7 @@ namespace osu.Game.Screens.Multi
|
||||
Margin = new MarginPadding
|
||||
{
|
||||
Top = 10,
|
||||
Right = 10,
|
||||
Right = 10 + OVERFLOW_PADDING,
|
||||
},
|
||||
Text = "Create room",
|
||||
Action = () => loungeSubScreen.Push(new Room
|
||||
|
Loading…
Reference in New Issue
Block a user