From a70a465027b4475d771ea6721625366a1441f330 Mon Sep 17 00:00:00 2001 From: Layendan Date: Sun, 8 Dec 2024 01:02:26 -0700 Subject: [PATCH 1/3] Resolve merge conflicts --- .../TestSceneExternalRoomButton.cs | 27 ++++++++++++++ .../Lounge/Components/DrawableRoom.cs | 36 +++++++++++++++++-- .../Lounge/Components/ExternalRoomButton.cs | 34 ++++++++++++++++++ 3 files changed, 94 insertions(+), 3 deletions(-) create mode 100644 osu.Game.Tests/Visual/Multiplayer/TestSceneExternalRoomButton.cs create mode 100644 osu.Game/Screens/OnlinePlay/Lounge/Components/ExternalRoomButton.cs diff --git a/osu.Game.Tests/Visual/Multiplayer/TestSceneExternalRoomButton.cs b/osu.Game.Tests/Visual/Multiplayer/TestSceneExternalRoomButton.cs new file mode 100644 index 000000000000..bedffe5916ef --- /dev/null +++ b/osu.Game.Tests/Visual/Multiplayer/TestSceneExternalRoomButton.cs @@ -0,0 +1,27 @@ +// Copyright (c) ppy Pty Ltd . Licensed under the MIT Licence. +// See the LICENCE file in the repository root for full licence text. + +using osu.Framework.Graphics; +using osu.Game.Graphics.Cursor; +using osu.Game.Screens.OnlinePlay.Lounge.Components; +using osuTK; + +namespace osu.Game.Tests.Visual.Multiplayer +{ + public partial class TestSceneExternalRoomButton : OsuTestScene + { + public TestSceneExternalRoomButton() + { + Child = new OsuContextMenuContainer + { + RelativeSizeAxes = Axes.Both, + Child = new ExternalRoomButton(1) + { + Size = new Vector2(50), + Anchor = Anchor.Centre, + Origin = Anchor.Centre, + } + }; + } + } +} diff --git a/osu.Game/Screens/OnlinePlay/Lounge/Components/DrawableRoom.cs b/osu.Game/Screens/OnlinePlay/Lounge/Components/DrawableRoom.cs index c39ca347c79c..74ead474553b 100644 --- a/osu.Game/Screens/OnlinePlay/Lounge/Components/DrawableRoom.cs +++ b/osu.Game/Screens/OnlinePlay/Lounge/Components/DrawableRoom.cs @@ -20,6 +20,7 @@ using osu.Game.Database; using osu.Game.Graphics; using osu.Game.Graphics.Containers; +using osu.Game.Graphics.Cursor; using osu.Game.Graphics.Sprites; using osu.Game.Online.Chat; using osu.Game.Online.Rooms; @@ -94,7 +95,7 @@ private void load(OverlayColourProvider colours) d.RelativeSizeAxes = Axes.Both; }), wrapper = new DelayedLoadWrapper(() => - new Container + new OsuContextMenuContainer { Name = @"Room content", RelativeSizeAxes = Axes.Both, @@ -184,10 +185,39 @@ private void load(OverlayColourProvider colours) Direction = FillDirection.Vertical, Children = new Drawable[] { - roomName = new TruncatingSpriteText + new GridContainer { RelativeSizeAxes = Axes.X, - Font = OsuFont.GetFont(size: 28) + AutoSizeAxes = Axes.Y, + ColumnDimensions = new[] + { + new Dimension(GridSizeMode.AutoSize), + new Dimension(GridSizeMode.AutoSize), + }, + RowDimensions = new[] + { + new Dimension(GridSizeMode.AutoSize) + }, + Content = new[] + { + new Drawable[] + { + roomName = new TruncatingSpriteText + { + Font = OsuFont.GetFont(size: 28), + }, + new ExternalRoomButton(Room.RoomID) + { + Margin = new MarginPadding + { + Left = 3, + }, + Anchor = Anchor.CentreLeft, + Origin = Anchor.CentreLeft, + Size = new Vector2(12) + } + }, + } }, new RoomStatusText(Room) { diff --git a/osu.Game/Screens/OnlinePlay/Lounge/Components/ExternalRoomButton.cs b/osu.Game/Screens/OnlinePlay/Lounge/Components/ExternalRoomButton.cs new file mode 100644 index 000000000000..281a2ae1a24f --- /dev/null +++ b/osu.Game/Screens/OnlinePlay/Lounge/Components/ExternalRoomButton.cs @@ -0,0 +1,34 @@ +// Copyright (c) ppy Pty Ltd . Licensed under the MIT Licence. +// See the LICENCE file in the repository root for full licence text. + +using osu.Framework.Allocation; +using osu.Game.Graphics.UserInterface; +using osu.Game.Online.API; + +namespace osu.Game.Screens.OnlinePlay.Lounge.Components +{ + public partial class ExternalRoomButton : ExternalLinkButton + { + [Resolved] + private IAPIProvider api { get; set; } = null!; + + private readonly long? roomID; + + public ExternalRoomButton(long? roomID) + { + this.roomID = roomID; + } + + [BackgroundDependencyLoader] + private void load() + { + if (roomID.HasValue) + Link = formatLink(roomID.Value); + } + + private string formatLink(long id) + { + return $@"{api.WebsiteRootUrl}/multiplayer/rooms/{id}"; + } + } +} From 1156490065138cbc31024229d1ddc7c3c15c4aca Mon Sep 17 00:00:00 2001 From: Aidan Labourdette Date: Sun, 8 Dec 2024 01:31:35 -0700 Subject: [PATCH 2/3] Fix formatting --- .../OnlinePlay/Lounge/Components/DrawableRoom.cs | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/osu.Game/Screens/OnlinePlay/Lounge/Components/DrawableRoom.cs b/osu.Game/Screens/OnlinePlay/Lounge/Components/DrawableRoom.cs index 74ead474553b..d014c69473b3 100644 --- a/osu.Game/Screens/OnlinePlay/Lounge/Components/DrawableRoom.cs +++ b/osu.Game/Screens/OnlinePlay/Lounge/Components/DrawableRoom.cs @@ -208,13 +208,13 @@ private void load(OverlayColourProvider colours) }, new ExternalRoomButton(Room.RoomID) { - Margin = new MarginPadding - { - Left = 3, - }, - Anchor = Anchor.CentreLeft, - Origin = Anchor.CentreLeft, - Size = new Vector2(12) + Margin = new MarginPadding + { + Left = 3, + }, + Anchor = Anchor.CentreLeft, + Origin = Anchor.CentreLeft, + Size = new Vector2(12) } }, } From 85122b518217653c7194d542a130dd8ea8834da5 Mon Sep 17 00:00:00 2001 From: Dan Balasescu Date: Mon, 9 Dec 2024 10:01:18 +0900 Subject: [PATCH 3/3] Rename component --- ...ceneExternalRoomButton.cs => TestSceneRoomLinkButton.cs} | 6 +++--- .../Screens/OnlinePlay/Lounge/Components/DrawableRoom.cs | 2 +- .../Components/{ExternalRoomButton.cs => RoomLinkButton.cs} | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) rename osu.Game.Tests/Visual/Multiplayer/{TestSceneExternalRoomButton.cs => TestSceneRoomLinkButton.cs} (80%) rename osu.Game/Screens/OnlinePlay/Lounge/Components/{ExternalRoomButton.cs => RoomLinkButton.cs} (87%) diff --git a/osu.Game.Tests/Visual/Multiplayer/TestSceneExternalRoomButton.cs b/osu.Game.Tests/Visual/Multiplayer/TestSceneRoomLinkButton.cs similarity index 80% rename from osu.Game.Tests/Visual/Multiplayer/TestSceneExternalRoomButton.cs rename to osu.Game.Tests/Visual/Multiplayer/TestSceneRoomLinkButton.cs index bedffe5916ef..43e9513b64bf 100644 --- a/osu.Game.Tests/Visual/Multiplayer/TestSceneExternalRoomButton.cs +++ b/osu.Game.Tests/Visual/Multiplayer/TestSceneRoomLinkButton.cs @@ -8,14 +8,14 @@ namespace osu.Game.Tests.Visual.Multiplayer { - public partial class TestSceneExternalRoomButton : OsuTestScene + public partial class TestSceneRoomLinkButton : OsuTestScene { - public TestSceneExternalRoomButton() + public TestSceneRoomLinkButton() { Child = new OsuContextMenuContainer { RelativeSizeAxes = Axes.Both, - Child = new ExternalRoomButton(1) + Child = new RoomLinkButton(1) { Size = new Vector2(50), Anchor = Anchor.Centre, diff --git a/osu.Game/Screens/OnlinePlay/Lounge/Components/DrawableRoom.cs b/osu.Game/Screens/OnlinePlay/Lounge/Components/DrawableRoom.cs index d014c69473b3..15f5136129dc 100644 --- a/osu.Game/Screens/OnlinePlay/Lounge/Components/DrawableRoom.cs +++ b/osu.Game/Screens/OnlinePlay/Lounge/Components/DrawableRoom.cs @@ -206,7 +206,7 @@ private void load(OverlayColourProvider colours) { Font = OsuFont.GetFont(size: 28), }, - new ExternalRoomButton(Room.RoomID) + new RoomLinkButton(Room.RoomID) { Margin = new MarginPadding { diff --git a/osu.Game/Screens/OnlinePlay/Lounge/Components/ExternalRoomButton.cs b/osu.Game/Screens/OnlinePlay/Lounge/Components/RoomLinkButton.cs similarity index 87% rename from osu.Game/Screens/OnlinePlay/Lounge/Components/ExternalRoomButton.cs rename to osu.Game/Screens/OnlinePlay/Lounge/Components/RoomLinkButton.cs index 281a2ae1a24f..7c1c2e1d7252 100644 --- a/osu.Game/Screens/OnlinePlay/Lounge/Components/ExternalRoomButton.cs +++ b/osu.Game/Screens/OnlinePlay/Lounge/Components/RoomLinkButton.cs @@ -7,14 +7,14 @@ namespace osu.Game.Screens.OnlinePlay.Lounge.Components { - public partial class ExternalRoomButton : ExternalLinkButton + public partial class RoomLinkButton : ExternalLinkButton { [Resolved] private IAPIProvider api { get; set; } = null!; private readonly long? roomID; - public ExternalRoomButton(long? roomID) + public RoomLinkButton(long? roomID) { this.roomID = roomID; }