mirror of https://github.com/ppy/osu
Only update playing user states when users are watched
This commit is contained in:
parent
e0e8f5ab80
commit
f4c96b2675
|
@ -142,6 +142,10 @@ Task ISpectatorClient.UserBeganPlaying(int userId, SpectatorState state)
|
||||||
if (!playingUsers.Contains(userId))
|
if (!playingUsers.Contains(userId))
|
||||||
playingUsers.Add(userId);
|
playingUsers.Add(userId);
|
||||||
|
|
||||||
|
// UserBeganPlaying() is called by the server regardless of whether the local user is watching the remote user, and is called a further time when the remote user is watched.
|
||||||
|
// This may be a temporary thing (see: https://github.com/ppy/osu-server-spectator/blob/2273778e02cfdb4a9c6a934f2a46a8459cb5d29c/osu.Server.Spectator/Hubs/SpectatorHub.cs#L28-L29).
|
||||||
|
// We don't want the user states to update unless the player is being watched, otherwise calling BindUserBeganPlaying() can lead to double invocations.
|
||||||
|
if (watchingUsers.Contains(userId))
|
||||||
playingUserStates[userId] = state;
|
playingUserStates[userId] = state;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue