Closes https://github.com/ppy/osu/issues/12399.
Rotation animation is intentionally delayed slightly to give a better sense of what is going on (or maybe just look cool).
The slight hack which was used in the test to ensure that the mod
settings overlay covered the entire width of the mod overlay broke after
adjustments to the layout in the previous commit.
Locally adjust the hack to use the parent of the `ModSettingsContainer`
rather than the container itself.
The UserFinishedPlaying event may trigger before the event is subscribed
to by SpectatorScreen. For such cases, an extra check is done to make
sure the user is _actually_ playing.
Uses the resolved working beatmap instead of resolving it every time.
Also uses the EditorBeatmap itself as playable beatmap, as it is of type `IBeatmap` already, and `.PlayableBeatmap` forwards everything anyway.
This was due to this code happening in UpdateAfterChildren(), after the
GCC has processed one frame. During this time, the clock could have
advanced an arbitrary amount.
The cause of this is the removal of the Task.Run() to set the clock in
Restart() (now called Reset()) which changed the timing, so it only worked before due to pure
luck.