diff --git a/osu.Game/Screens/OnlinePlay/Lounge/Components/MatchTypePill.cs b/osu.Game/Screens/OnlinePlay/Lounge/Components/MatchTypePill.cs
index f96d547747..dd5f52155c 100644
--- a/osu.Game/Screens/OnlinePlay/Lounge/Components/MatchTypePill.cs
+++ b/osu.Game/Screens/OnlinePlay/Lounge/Components/MatchTypePill.cs
@@ -13,29 +13,8 @@ using osu.Game.Online.Rooms;
namespace osu.Game.Screens.OnlinePlay.Lounge.Components
{
- public partial class MatchTypePill : OnlinePlayComposite
+ public partial class MatchTypePill : OnlinePlayPill
{
- private OsuTextFlowContainer textFlow;
-
- public MatchTypePill()
- {
- AutoSizeAxes = Axes.Both;
- }
-
- [BackgroundDependencyLoader]
- private void load()
- {
- InternalChild = new PillContainer
- {
- Child = textFlow = new OsuTextFlowContainer(s => s.Font = OsuFont.GetFont(size: 12))
- {
- Anchor = Anchor.CentreLeft,
- Origin = Anchor.CentreLeft,
- AutoSizeAxes = Axes.Both,
- }
- };
- }
-
protected override void LoadComplete()
{
base.LoadComplete();
diff --git a/osu.Game/Screens/OnlinePlay/Lounge/Components/PlaylistCountPill.cs b/osu.Game/Screens/OnlinePlay/Lounge/Components/PlaylistCountPill.cs
index 81ba48d135..c3118ab285 100644
--- a/osu.Game/Screens/OnlinePlay/Lounge/Components/PlaylistCountPill.cs
+++ b/osu.Game/Screens/OnlinePlay/Lounge/Components/PlaylistCountPill.cs
@@ -5,40 +5,17 @@
using System.Linq;
using Humanizer;
-using osu.Framework.Allocation;
using osu.Framework.Extensions.LocalisationExtensions;
using osu.Framework.Graphics;
using osu.Game.Graphics;
-using osu.Game.Graphics.Containers;
namespace osu.Game.Screens.OnlinePlay.Lounge.Components
{
///
/// A pill that displays the playlist item count.
///
- public partial class PlaylistCountPill : OnlinePlayComposite
+ public partial class PlaylistCountPill : OnlinePlayPill
{
- private OsuTextFlowContainer count;
-
- public PlaylistCountPill()
- {
- AutoSizeAxes = Axes.Both;
- }
-
- [BackgroundDependencyLoader]
- private void load()
- {
- InternalChild = new PillContainer
- {
- Child = count = new OsuTextFlowContainer(s => s.Font = OsuFont.GetFont(size: 12))
- {
- AutoSizeAxes = Axes.Both,
- Anchor = Anchor.Centre,
- Origin = Anchor.Centre,
- }
- };
- }
-
protected override void LoadComplete()
{
base.LoadComplete();
@@ -55,10 +32,10 @@ namespace osu.Game.Screens.OnlinePlay.Lounge.Components
? Playlist.Count(i => !i.Expired)
: PlaylistItemStats.Value.CountActive;
- count.Clear();
- count.AddText(activeItems.ToLocalisableString(), s => s.Font = s.Font.With(weight: FontWeight.Bold));
- count.AddText(" ");
- count.AddText("Beatmap".ToQuantity(activeItems, ShowQuantityAs.None));
+ textFlow.Clear();
+ textFlow.AddText(activeItems.ToLocalisableString(), s => s.Font = s.Font.With(weight: FontWeight.Bold));
+ textFlow.AddText(" ");
+ textFlow.AddText("Beatmap".ToQuantity(activeItems, ShowQuantityAs.None));
}
}
}
diff --git a/osu.Game/Screens/OnlinePlay/Lounge/Components/QueueModePill.cs b/osu.Game/Screens/OnlinePlay/Lounge/Components/QueueModePill.cs
index 0175418a96..d37dede961 100644
--- a/osu.Game/Screens/OnlinePlay/Lounge/Components/QueueModePill.cs
+++ b/osu.Game/Screens/OnlinePlay/Lounge/Components/QueueModePill.cs
@@ -3,39 +3,14 @@
#nullable disable
-using osu.Framework.Allocation;
using osu.Framework.Bindables;
using osu.Framework.Extensions;
-using osu.Framework.Graphics;
-using osu.Game.Graphics;
-using osu.Game.Graphics.Containers;
using osu.Game.Online.Multiplayer;
namespace osu.Game.Screens.OnlinePlay.Lounge.Components
{
- public partial class QueueModePill : OnlinePlayComposite
+ public partial class QueueModePill : OnlinePlayPill
{
- private OsuTextFlowContainer textFlow;
-
- public QueueModePill()
- {
- AutoSizeAxes = Axes.Both;
- }
-
- [BackgroundDependencyLoader]
- private void load()
- {
- InternalChild = new PillContainer
- {
- Child = textFlow = new OsuTextFlowContainer(s => s.Font = OsuFont.GetFont(size: 12))
- {
- Anchor = Anchor.CentreLeft,
- Origin = Anchor.CentreLeft,
- AutoSizeAxes = Axes.Both,
- }
- };
- }
-
protected override void LoadComplete()
{
base.LoadComplete();
diff --git a/osu.Game/Screens/OnlinePlay/Lounge/Components/RoomSpecialCategoryPill.cs b/osu.Game/Screens/OnlinePlay/Lounge/Components/RoomSpecialCategoryPill.cs
index 5d67a18d1f..a01d14ab40 100644
--- a/osu.Game/Screens/OnlinePlay/Lounge/Components/RoomSpecialCategoryPill.cs
+++ b/osu.Game/Screens/OnlinePlay/Lounge/Components/RoomSpecialCategoryPill.cs
@@ -5,54 +5,26 @@
using osu.Framework.Allocation;
using osu.Framework.Extensions;
-using osu.Framework.Graphics;
-using osu.Framework.Graphics.Sprites;
using osu.Game.Graphics;
-using osu.Game.Graphics.Sprites;
-using osuTK.Graphics;
namespace osu.Game.Screens.OnlinePlay.Lounge.Components
{
- public partial class RoomSpecialCategoryPill : OnlinePlayComposite
+ public partial class RoomSpecialCategoryPill : OnlinePlayPill
{
- private SpriteText text;
- private PillContainer pill;
-
[Resolved]
private OsuColour colours { get; set; }
- public RoomSpecialCategoryPill()
- {
- AutoSizeAxes = Axes.Both;
- }
-
- [BackgroundDependencyLoader]
- private void load()
- {
- InternalChild = pill = new PillContainer
- {
- Background =
- {
- Colour = colours.Pink,
- Alpha = 1
- },
- Child = text = new OsuSpriteText
- {
- Anchor = Anchor.Centre,
- Origin = Anchor.Centre,
- Font = OsuFont.GetFont(weight: FontWeight.SemiBold, size: 12),
- Colour = Color4.Black
- }
- };
- }
-
protected override void LoadComplete()
{
base.LoadComplete();
+ pill.Background.Colour = colours.Pink;
+ pill.Background.Alpha = 1;
+
Category.BindValueChanged(c =>
{
- text.Text = c.NewValue.GetLocalisableDescription();
+ textFlow.Clear();
+ textFlow.AddText(c.NewValue.GetLocalisableDescription());
var backgroundColour = colours.ForRoomCategory(Category.Value);
if (backgroundColour != null)
diff --git a/osu.Game/Screens/OnlinePlay/Lounge/Components/RoomStatusPill.cs b/osu.Game/Screens/OnlinePlay/Lounge/Components/RoomStatusPill.cs
index 201314851e..a4fdd39236 100644
--- a/osu.Game/Screens/OnlinePlay/Lounge/Components/RoomStatusPill.cs
+++ b/osu.Game/Screens/OnlinePlay/Lounge/Components/RoomStatusPill.cs
@@ -6,46 +6,20 @@
using System;
using osu.Framework.Allocation;
using osu.Framework.Graphics;
-using osu.Framework.Graphics.Sprites;
using osu.Game.Graphics;
-using osu.Game.Graphics.Sprites;
using osu.Game.Online.Rooms;
using osu.Game.Online.Rooms.RoomStatuses;
-using osuTK.Graphics;
namespace osu.Game.Screens.OnlinePlay.Lounge.Components
{
///
/// A pill that displays the room's current status.
///
- public partial class RoomStatusPill : OnlinePlayComposite
+ public partial class RoomStatusPill : OnlinePlayPill
{
[Resolved]
private OsuColour colours { get; set; }
- private PillContainer pill;
- private SpriteText statusText;
-
- public RoomStatusPill()
- {
- AutoSizeAxes = Axes.Both;
- }
-
- [BackgroundDependencyLoader]
- private void load()
- {
- InternalChild = pill = new PillContainer
- {
- Child = statusText = new OsuSpriteText
- {
- Anchor = Anchor.Centre,
- Origin = Anchor.Centre,
- Font = OsuFont.GetFont(weight: FontWeight.SemiBold, size: 12),
- Colour = Color4.Black
- }
- };
- }
-
protected override void LoadComplete()
{
base.LoadComplete();
@@ -62,7 +36,9 @@ namespace osu.Game.Screens.OnlinePlay.Lounge.Components
pill.Background.Alpha = 1;
pill.Background.FadeColour(status.GetAppropriateColour(colours), 100);
- statusText.Text = status.Message;
+
+ textFlow.Clear();
+ textFlow.AddText(status.Message);
}
private RoomStatus getDisplayStatus()