mirror of
https://github.com/ppy/osu.git
synced 2025-02-13 16:02:58 +08:00
Update interface to remove items
This commit is contained in:
parent
aad4b8ff80
commit
78793d8624
@ -116,8 +116,8 @@ namespace osu.Game.Online.Multiplayer
|
||||
/// <summary>
|
||||
/// Signals that an item has been removed from the playlist.
|
||||
/// </summary>
|
||||
/// <param name="item">The removed item.</param>
|
||||
Task PlaylistItemRemoved(APIPlaylistItem item);
|
||||
/// <param name="playlistItemId">The removed item.</param>
|
||||
Task PlaylistItemRemoved(long playlistItemId);
|
||||
|
||||
/// <summary>
|
||||
/// Signals that an item has been changed in the playlist.
|
||||
|
@ -86,7 +86,7 @@ namespace osu.Game.Online.Multiplayer
|
||||
/// <summary>
|
||||
/// Removes an item from the playlist.
|
||||
/// </summary>
|
||||
/// <param name="item">The item to remove.</param>
|
||||
Task RemovePlaylistItem(APIPlaylistItem item);
|
||||
/// <param name="playlistItemId">The item to remove.</param>
|
||||
Task RemovePlaylistItem(long playlistItemId);
|
||||
}
|
||||
}
|
||||
|
@ -307,7 +307,7 @@ namespace osu.Game.Online.Multiplayer
|
||||
|
||||
public abstract Task AddPlaylistItem(APIPlaylistItem item);
|
||||
|
||||
public abstract Task RemovePlaylistItem(APIPlaylistItem item);
|
||||
public abstract Task RemovePlaylistItem(long playlistItemId);
|
||||
|
||||
Task IMultiplayerClient.RoomStateChanged(MultiplayerRoomState state)
|
||||
{
|
||||
@ -613,7 +613,7 @@ namespace osu.Game.Online.Multiplayer
|
||||
}).ConfigureAwait(false);
|
||||
}
|
||||
|
||||
public Task PlaylistItemRemoved(APIPlaylistItem item)
|
||||
public Task PlaylistItemRemoved(long playlistItemId)
|
||||
{
|
||||
if (Room == null)
|
||||
return Task.CompletedTask;
|
||||
@ -625,7 +625,7 @@ namespace osu.Game.Online.Multiplayer
|
||||
|
||||
Debug.Assert(APIRoom != null);
|
||||
|
||||
APIRoom.Playlist.RemoveAll(i => i.ID == item.ID);
|
||||
APIRoom.Playlist.RemoveAll(i => i.ID == playlistItemId);
|
||||
RoomUpdated?.Invoke();
|
||||
});
|
||||
}
|
||||
|
@ -63,7 +63,7 @@ namespace osu.Game.Online.Multiplayer
|
||||
connection.On<int, MatchUserState>(nameof(IMultiplayerClient.MatchUserStateChanged), ((IMultiplayerClient)this).MatchUserStateChanged);
|
||||
connection.On<MatchServerEvent>(nameof(IMultiplayerClient.MatchEvent), ((IMultiplayerClient)this).MatchEvent);
|
||||
connection.On<APIPlaylistItem>(nameof(IMultiplayerClient.PlaylistItemAdded), ((IMultiplayerClient)this).PlaylistItemAdded);
|
||||
connection.On<APIPlaylistItem>(nameof(IMultiplayerClient.PlaylistItemRemoved), ((IMultiplayerClient)this).PlaylistItemRemoved);
|
||||
connection.On<long>(nameof(IMultiplayerClient.PlaylistItemRemoved), ((IMultiplayerClient)this).PlaylistItemRemoved);
|
||||
connection.On<APIPlaylistItem>(nameof(IMultiplayerClient.PlaylistItemChanged), ((IMultiplayerClient)this).PlaylistItemChanged);
|
||||
};
|
||||
|
||||
@ -159,12 +159,12 @@ namespace osu.Game.Online.Multiplayer
|
||||
return connection.InvokeAsync(nameof(IMultiplayerServer.AddPlaylistItem), item);
|
||||
}
|
||||
|
||||
public override Task RemovePlaylistItem(APIPlaylistItem item)
|
||||
public override Task RemovePlaylistItem(long playlistItemId)
|
||||
{
|
||||
if (!IsConnected.Value)
|
||||
return Task.CompletedTask;
|
||||
|
||||
return connection.InvokeAsync(nameof(IMultiplayerServer.RemovePlaylistItem), item);
|
||||
return connection.InvokeAsync(nameof(IMultiplayerServer.RemovePlaylistItem), playlistItemId);
|
||||
}
|
||||
|
||||
protected override Task<APIBeatmapSet> GetOnlineBeatmapSet(int beatmapId, CancellationToken cancellationToken = default)
|
||||
|
@ -299,14 +299,14 @@ namespace osu.Game.Tests.Visual.Multiplayer
|
||||
await addPlaylistItem(item).ConfigureAwait(false);
|
||||
}
|
||||
|
||||
public override Task RemovePlaylistItem(APIPlaylistItem item)
|
||||
public override Task RemovePlaylistItem(long playlistItemId)
|
||||
{
|
||||
Debug.Assert(Room != null);
|
||||
|
||||
if (Room.Host?.UserID != LocalUser?.UserID)
|
||||
throw new InvalidOperationException("Local user is not the room host.");
|
||||
|
||||
return ((IMultiplayerClient)this).PlaylistItemRemoved(item);
|
||||
return ((IMultiplayerClient)this).PlaylistItemRemoved(playlistItemId);
|
||||
}
|
||||
|
||||
protected override Task<APIBeatmapSet> GetOnlineBeatmapSet(int beatmapId, CancellationToken cancellationToken = default)
|
||||
|
Loading…
Reference in New Issue
Block a user