mirror of
https://github.com/ppy/osu.git
synced 2025-02-08 07:02:54 +08:00
Remove Scheduler.AddOnce
from updateSpecifics
To keep things simple, let's not bother debouncing this. The debouncing was causing spectating handling to fail because of two interdependent components binding to `BeatmapAvailability`: Binding to update the screen's `Beatmap` after a download completes:5874706117/osu.Game/Screens/OnlinePlay/Match/RoomSubScreen.cs (L266-L267)
Binding to attempt a load request:8bb7bea04e/osu.Game/Screens/OnlinePlay/Multiplayer/MultiplayerMatchSubScreen.cs (L67)
The first must update the beatmap before the second runs, else gameplay will not load due to `Beatmap.IsDefault`.
This commit is contained in:
parent
8bb7bea04e
commit
6c6063464a
@ -427,7 +427,7 @@ namespace osu.Game.Screens.OnlinePlay.Match
|
||||
/// <returns>The screen to enter.</returns>
|
||||
protected abstract Screen CreateGameplayScreen(PlaylistItem selectedItem);
|
||||
|
||||
private void updateSpecifics() => Scheduler.AddOnce(() =>
|
||||
private void updateSpecifics()
|
||||
{
|
||||
if (!this.IsCurrentScreen() || SelectedItem.Value is not PlaylistItem item)
|
||||
return;
|
||||
@ -487,7 +487,7 @@ namespace osu.Game.Screens.OnlinePlay.Match
|
||||
}
|
||||
else
|
||||
UserStyleSection.Hide();
|
||||
});
|
||||
}
|
||||
|
||||
protected virtual APIMod[] GetGameplayMods() => UserMods.Value.Select(m => new APIMod(m)).Concat(SelectedItem.Value!.RequiredMods).ToArray();
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user