diff --git a/osu.Game.Tests/Visual/Online/TestSceneFriendDisplay.cs b/osu.Game.Tests/Visual/Online/TestSceneFriendDisplay.cs index 7925b252b6..5028a532b7 100644 --- a/osu.Game.Tests/Visual/Online/TestSceneFriendDisplay.cs +++ b/osu.Game.Tests/Visual/Online/TestSceneFriendDisplay.cs @@ -56,7 +56,13 @@ namespace osu.Game.Tests.Visual.Online IsOnline = true, Statistics = new UserStatistics { GlobalRank = 1111 }, CountryCode = CountryCode.JP, - CoverUrl = "https://osu.ppy.sh/images/headers/profile-covers/c6.jpg" + CoverUrl = "https://osu.ppy.sh/images/headers/profile-covers/c6.jpg", + IsSupporter = true, + SupportLevel = 1, + Groups = new[] + { + new APIUserGroup { Colour = "#EB47D0", ShortName = "DEV", Name = "Developers" } + } }, new APIUser { @@ -68,6 +74,11 @@ namespace osu.Game.Tests.Visual.Online CoverUrl = "https://osu.ppy.sh/images/headers/profile-covers/c3.jpg", IsSupporter = true, SupportLevel = 3, + Groups = new[] + { + new APIUserGroup { Colour = "#0066FF", ShortName = "PPY", Name = "peppy" }, + new APIUserGroup { Colour = "#EB47D0", ShortName = "DEV", Name = "Developers" } + } }, new APIUser { @@ -76,7 +87,9 @@ namespace osu.Game.Tests.Visual.Online CountryCode = CountryCode.BY, CoverUrl = "https://assets.ppy.sh/user-profile-covers/8195163/4a8e2ad5a02a2642b631438cfa6c6bd7e2f9db289be881cb27df18331f64144c.jpeg", IsOnline = false, - LastVisit = DateTimeOffset.Now + LastVisit = DateTimeOffset.Now, + IsSupporter = true, + SupportLevel = 2 } }; } diff --git a/osu.Game/Overlays/Profile/Header/Components/GroupBadgeFlow.cs b/osu.Game/Overlays/Profile/Header/Components/GroupBadgeFlow.cs index 33b3de94db..2498543b11 100644 --- a/osu.Game/Overlays/Profile/Header/Components/GroupBadgeFlow.cs +++ b/osu.Game/Overlays/Profile/Header/Components/GroupBadgeFlow.cs @@ -25,8 +25,14 @@ namespace osu.Game.Overlays.Profile.Header.Components Clear(true); if (user.NewValue?.Groups != null) + { AddRange(user.NewValue.Groups.Select(g => new GroupBadge(g))); + Show(); + } + else + Hide(); }); + } } } diff --git a/osu.Game/Users/ExtendedUserPanel.cs b/osu.Game/Users/ExtendedUserPanel.cs index 3c1b68f9ef..af4da22906 100644 --- a/osu.Game/Users/ExtendedUserPanel.cs +++ b/osu.Game/Users/ExtendedUserPanel.cs @@ -13,6 +13,7 @@ using osu.Game.Graphics.Sprites; using osu.Game.Users.Drawables; using osu.Framework.Input.Events; using osu.Game.Online.API.Requests.Responses; +using osu.Game.Overlays.Profile.Header.Components; namespace osu.Game.Users { @@ -97,6 +98,13 @@ namespace osu.Game.Users return statusContainer; } + protected FillFlowContainer CreateGroupBadges() + { + var groupBadgeFlow = new GroupBadgeFlow(); + groupBadgeFlow.User.Value = User; + return groupBadgeFlow; + } + private void displayStatus(UserStatus status, UserActivity activity = null) { if (status != null) diff --git a/osu.Game/Users/UserListPanel.cs b/osu.Game/Users/UserListPanel.cs index bbd3c60a33..ebe58c2b93 100644 --- a/osu.Game/Users/UserListPanel.cs +++ b/osu.Game/Users/UserListPanel.cs @@ -67,6 +67,11 @@ namespace osu.Game.Users { username.Anchor = Anchor.CentreLeft; username.Origin = Anchor.CentreLeft; + }), + CreateGroupBadges().With(badges => + { + badges.Anchor = Anchor.CentreLeft; + badges.Origin = Anchor.CentreLeft; }) } },