mirror of
https://github.com/ppy/osu.git
synced 2025-02-08 09:42:55 +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>
|
/// <returns>The screen to enter.</returns>
|
||||||
protected abstract Screen CreateGameplayScreen(PlaylistItem selectedItem);
|
protected abstract Screen CreateGameplayScreen(PlaylistItem selectedItem);
|
||||||
|
|
||||||
private void updateSpecifics() => Scheduler.AddOnce(() =>
|
private void updateSpecifics()
|
||||||
{
|
{
|
||||||
if (!this.IsCurrentScreen() || SelectedItem.Value is not PlaylistItem item)
|
if (!this.IsCurrentScreen() || SelectedItem.Value is not PlaylistItem item)
|
||||||
return;
|
return;
|
||||||
@ -487,7 +487,7 @@ namespace osu.Game.Screens.OnlinePlay.Match
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
UserStyleSection.Hide();
|
UserStyleSection.Hide();
|
||||||
});
|
}
|
||||||
|
|
||||||
protected virtual APIMod[] GetGameplayMods() => UserMods.Value.Select(m => new APIMod(m)).Concat(SelectedItem.Value!.RequiredMods).ToArray();
|
protected virtual APIMod[] GetGameplayMods() => UserMods.Value.Select(m => new APIMod(m)).Concat(SelectedItem.Value!.RequiredMods).ToArray();
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user