mirror of
https://github.com/ppy/osu.git
synced 2024-12-14 08:33:21 +08:00
Fix presenting beatmaps while in a multiplayer room not working
This commit is contained in:
parent
c467e6ba1f
commit
dc1b4a39aa
@ -49,6 +49,9 @@ namespace osu.Game.Screens.OnlinePlay.Multiplayer
|
||||
[Resolved]
|
||||
private MultiplayerClient client { get; set; }
|
||||
|
||||
[Resolved]
|
||||
private OsuGame game { get; set; }
|
||||
|
||||
private AddItemButton addItemButton;
|
||||
|
||||
public MultiplayerMatchSubScreen(Room room)
|
||||
@ -403,18 +406,13 @@ namespace osu.Game.Screens.OnlinePlay.Multiplayer
|
||||
if (!this.IsCurrentScreen())
|
||||
return;
|
||||
|
||||
if (client.Room == null)
|
||||
return;
|
||||
// If there's only one playlist item and we are the host, assume we want to change it. Else we're add a new one.
|
||||
PlaylistItem itemToEdit = client.IsHost && Room.Playlist.Count == 1 ? Room.Playlist.Single() : null;
|
||||
|
||||
if (!client.IsHost)
|
||||
{
|
||||
// todo: should handle this when the request queue is implemented.
|
||||
// if we decide that the presentation should exit the user from the multiplayer game, the PresentBeatmap
|
||||
// flow may need to change to support an "unable to present" return value.
|
||||
return;
|
||||
}
|
||||
OpenSongSelection(itemToEdit);
|
||||
|
||||
this.Push(new MultiplayerMatchSongSelect(Room, Room.Playlist.Single(item => item.ID == client.Room.Settings.PlaylistItemId)));
|
||||
// Re-run PresentBeatmap now that we've pushed a song select that can handle it.
|
||||
game?.PresentBeatmap(beatmap.BeatmapSetInfo, b => b.ID == beatmap.BeatmapInfo.ID);
|
||||
}
|
||||
|
||||
protected override void Dispose(bool isDisposing)
|
||||
|
Loading…
Reference in New Issue
Block a user