Bind MultiplayerGameplayLeaderboard to player updates later in load process

This commit is contained in:
Dean Herbert
2021-01-25 17:44:01 +09:00
parent 704c76ba04
commit 91ce3df3a9

View File

@ -53,8 +53,6 @@ namespace osu.Game.Screens.Play.HUD
[BackgroundDependencyLoader] [BackgroundDependencyLoader]
private void load(OsuConfigManager config, IAPIProvider api) private void load(OsuConfigManager config, IAPIProvider api)
{ {
streamingClient.OnNewFrames += handleIncomingFrames;
foreach (var userId in playingUsers) foreach (var userId in playingUsers)
{ {
streamingClient.WatchUser(userId); streamingClient.WatchUser(userId);
@ -90,6 +88,9 @@ namespace osu.Game.Screens.Play.HUD
playingUsers.BindTo(multiplayerClient.CurrentMatchPlayingUserIds); playingUsers.BindTo(multiplayerClient.CurrentMatchPlayingUserIds);
playingUsers.BindCollectionChanged(usersChanged); playingUsers.BindCollectionChanged(usersChanged);
// this leaderboard should be guaranteed to be completely loaded before the gameplay starts (is a prerequisite in MultiplayerPlayer).
streamingClient.OnNewFrames += handleIncomingFrames;
} }
private void usersChanged(object sender, NotifyCollectionChangedEventArgs e) private void usersChanged(object sender, NotifyCollectionChangedEventArgs e)