mirror of
https://github.com/ppy/osu.git
synced 2024-12-14 14:32:55 +08:00
Merge pull request #26081 from peppy/fix-spectate-users
Fix "spectate" button not always being clickable in online users list
This commit is contained in:
commit
881a91ed69
@ -81,6 +81,21 @@ namespace osu.Game.Tests.Visual.Online
|
|||||||
AddStep("End watching user presence", () => metadataClient.EndWatchingUserPresence());
|
AddStep("End watching user presence", () => metadataClient.EndWatchingUserPresence());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[Test]
|
||||||
|
public void TestUserWasPlayingBeforeWatchingUserPresence()
|
||||||
|
{
|
||||||
|
AddStep("User began playing", () => spectatorClient.SendStartPlay(streamingUser.Id, 0));
|
||||||
|
AddStep("Begin watching user presence", () => metadataClient.BeginWatchingUserPresence());
|
||||||
|
AddStep("Add online user", () => metadataClient.UserPresenceUpdated(streamingUser.Id, new UserPresence { Status = UserStatus.Online, Activity = new UserActivity.ChoosingBeatmap() }));
|
||||||
|
AddUntilStep("Panel loaded", () => currentlyOnline.ChildrenOfType<UserGridPanel>().FirstOrDefault()?.User.Id == 2);
|
||||||
|
AddAssert("Spectate button enabled", () => currentlyOnline.ChildrenOfType<PurpleRoundedButton>().First().Enabled.Value, () => Is.True);
|
||||||
|
|
||||||
|
AddStep("User finished playing", () => spectatorClient.SendEndPlay(streamingUser.Id));
|
||||||
|
AddAssert("Spectate button disabled", () => currentlyOnline.ChildrenOfType<PurpleRoundedButton>().First().Enabled.Value, () => Is.False);
|
||||||
|
AddStep("Remove playing user", () => metadataClient.UserPresenceUpdated(streamingUser.Id, null));
|
||||||
|
AddStep("End watching user presence", () => metadataClient.EndWatchingUserPresence());
|
||||||
|
}
|
||||||
|
|
||||||
internal partial class TestUserLookupCache : UserLookupCache
|
internal partial class TestUserLookupCache : UserLookupCache
|
||||||
{
|
{
|
||||||
private static readonly string[] usernames =
|
private static readonly string[] usernames =
|
||||||
|
@ -6,6 +6,7 @@
|
|||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Collections.Specialized;
|
using System.Collections.Specialized;
|
||||||
using System.Diagnostics;
|
using System.Diagnostics;
|
||||||
|
using System.Linq;
|
||||||
using osu.Framework.Allocation;
|
using osu.Framework.Allocation;
|
||||||
using osu.Framework.Bindables;
|
using osu.Framework.Bindables;
|
||||||
using osu.Framework.Extensions;
|
using osu.Framework.Extensions;
|
||||||
@ -218,6 +219,7 @@ namespace osu.Game.Overlays.Dashboard
|
|||||||
{
|
{
|
||||||
panel.Anchor = Anchor.TopCentre;
|
panel.Anchor = Anchor.TopCentre;
|
||||||
panel.Origin = Anchor.TopCentre;
|
panel.Origin = Anchor.TopCentre;
|
||||||
|
panel.CanSpectate.Value = playingUsers.Contains(user.Id);
|
||||||
});
|
});
|
||||||
|
|
||||||
public partial class OnlineUserPanel : CompositeDrawable, IFilterable
|
public partial class OnlineUserPanel : CompositeDrawable, IFilterable
|
||||||
|
Loading…
Reference in New Issue
Block a user