-
-
Notifications
You must be signed in to change notification settings - Fork 2.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix spectator mode not showing when a spectated user quits correctly #25548
Conversation
Spectator relies on the `SpectatorScreen` (which importantly, is not the `SpectatorPlayer` but a separate screen) to be alive and present in order to function correctly, due to `Schedule`d operations. This was true for multiplayer but not for solo play, so it seems logical to standardise things here. Closes ppy#25535.
@@ -33,7 +33,7 @@ public abstract partial class SpectatorClient : Component, ISpectatorClient | |||
/// Whether the <see cref="SpectatorClient"/> is currently connected. | |||
/// This is NOT thread safe and usage should be scheduled. | |||
/// </summary> | |||
public abstract IBindable<bool> IsConnected { get; } | |||
protected abstract IBindable<bool> IsConnected { get; } |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Any particular reason for encapsulating this? I rely on this being public in #25522.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
No reason, just wasn't being used.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I guess I can just re-expose it again in mine when resolving merge conflicts.
Transition on retry is a tad broken: 2023-11-23.17-42-46.mp4osu! logo should not be hanging around like that there. |
This PR switches
SoloSpectatorScreen
to use a nested screen for gameplay.Spectator relies on the
SpectatorScreen
(which importantly, is not theSpectatorPlayer
but a separate screen) to be alive and present in order to function correctly, due toSchedule
d operations).This was already true for multiplayer but not for solo play, so it seems logical to standardise things here.
Closes #25535.
CleanShot.2023-11-23.at.03.38.06.mp4