diff --git a/osu.Game/Online/Multiplayer/MultiplayerClient.cs b/osu.Game/Online/Multiplayer/MultiplayerClient.cs index 0ffb81d986..ae53ef2e52 100644 --- a/osu.Game/Online/Multiplayer/MultiplayerClient.cs +++ b/osu.Game/Online/Multiplayer/MultiplayerClient.cs @@ -742,7 +742,7 @@ namespace osu.Game.Online.Multiplayer Beatmap = { Value = apiBeatmap }, Ruleset = { Value = ruleset }, Expired = item.Expired, - GameplayOrder = item.GameplayOrder + PlaylistOrder = item.PlaylistOrder }; playlistItem.RequiredMods.AddRange(item.RequiredMods.Select(m => m.ToMod(rulesetInstance))); diff --git a/osu.Game/Online/Rooms/MultiplayerPlaylistItem.cs b/osu.Game/Online/Rooms/MultiplayerPlaylistItem.cs index ec98de2b43..c84b5b9039 100644 --- a/osu.Game/Online/Rooms/MultiplayerPlaylistItem.cs +++ b/osu.Game/Online/Rooms/MultiplayerPlaylistItem.cs @@ -43,7 +43,7 @@ namespace osu.Game.Online.Rooms /// The order in which this will be played, starting from 0 and increasing for items which will be played later. /// [Key(8)] - public int GameplayOrder { get; set; } + public ushort PlaylistOrder { get; set; } /// /// The date when this was last updated. @@ -65,7 +65,7 @@ namespace osu.Game.Online.Rooms RequiredMods = item.RequiredMods.Select(m => new APIMod(m)).ToArray(); AllowedMods = item.AllowedMods.Select(m => new APIMod(m)).ToArray(); Expired = item.Expired; - GameplayOrder = item.GameplayOrder; + PlaylistOrder = item.PlaylistOrder ?? 0; } } } diff --git a/osu.Game/Online/Rooms/PlaylistItem.cs b/osu.Game/Online/Rooms/PlaylistItem.cs index 4c7f9e139a..beefb17d54 100644 --- a/osu.Game/Online/Rooms/PlaylistItem.cs +++ b/osu.Game/Online/Rooms/PlaylistItem.cs @@ -33,8 +33,8 @@ namespace osu.Game.Online.Rooms [JsonProperty("expired")] public bool Expired { get; set; } - [JsonProperty("gameplay_order")] - public int GameplayOrder { get; set; } + [JsonProperty("playlist_order")] + public ushort? PlaylistOrder { get; set; } [JsonIgnore] public IBindable Valid => valid; diff --git a/osu.Game/Screens/OnlinePlay/Multiplayer/Match/Playlist/MultiplayerHistoryList.cs b/osu.Game/Screens/OnlinePlay/Multiplayer/Match/Playlist/MultiplayerHistoryList.cs index 25f658446a..ed41a6fc78 100644 --- a/osu.Game/Screens/OnlinePlay/Multiplayer/Match/Playlist/MultiplayerHistoryList.cs +++ b/osu.Game/Screens/OnlinePlay/Multiplayer/Match/Playlist/MultiplayerHistoryList.cs @@ -27,7 +27,7 @@ namespace osu.Game.Screens.OnlinePlay.Multiplayer.Match.Playlist private class HistoryFillFlowContainer : FillFlowContainer> { - public override IEnumerable FlowingChildren => base.FlowingChildren.OfType>().OrderByDescending(item => item.Model.GameplayOrder); + public override IEnumerable FlowingChildren => base.FlowingChildren.OfType>().OrderByDescending(item => item.Model.PlaylistOrder); } } } diff --git a/osu.Game/Screens/OnlinePlay/Multiplayer/Match/Playlist/MultiplayerQueueList.cs b/osu.Game/Screens/OnlinePlay/Multiplayer/Match/Playlist/MultiplayerQueueList.cs index 58f35b940a..1b1b66273f 100644 --- a/osu.Game/Screens/OnlinePlay/Multiplayer/Match/Playlist/MultiplayerQueueList.cs +++ b/osu.Game/Screens/OnlinePlay/Multiplayer/Match/Playlist/MultiplayerQueueList.cs @@ -38,7 +38,7 @@ namespace osu.Game.Screens.OnlinePlay.Multiplayer.Match.Playlist roomPlaylist.BindCollectionChanged((_, __) => InvalidateLayout()); } - public override IEnumerable FlowingChildren => base.FlowingChildren.OfType>().OrderBy(item => item.Model.GameplayOrder); + public override IEnumerable FlowingChildren => base.FlowingChildren.OfType>().OrderBy(item => item.Model.PlaylistOrder); } } } diff --git a/osu.Game/Tests/Visual/Multiplayer/TestMultiplayerClient.cs b/osu.Game/Tests/Visual/Multiplayer/TestMultiplayerClient.cs index 2831c94429..b47b86a2d8 100644 --- a/osu.Game/Tests/Visual/Multiplayer/TestMultiplayerClient.cs +++ b/osu.Game/Tests/Visual/Multiplayer/TestMultiplayerClient.cs @@ -316,7 +316,7 @@ namespace osu.Game.Tests.Visual.Multiplayer case QueueMode.HostOnly: // In host-only mode, the current item is re-used. item.ID = currentItem.ID; - item.GameplayOrder = currentItem.GameplayOrder; + item.PlaylistOrder = currentItem.PlaylistOrder; serverSidePlaylist[currentIndex] = item; await ((IMultiplayerClient)this).PlaylistItemChanged(item).ConfigureAwait(false); @@ -488,10 +488,10 @@ namespace osu.Game.Tests.Visual.Multiplayer for (int i = 0; i < orderedItems.Count; i++) { // Items which are already ordered correct don't need to be updated. - if (orderedItems[i].GameplayOrder == i) + if (orderedItems[i].PlaylistOrder == i) continue; - orderedItems[i].GameplayOrder = i; + orderedItems[i].PlaylistOrder = (ushort)i; // Items which have an ID of 0 are not in the database, so avoid propagating database/hub events for them. if (orderedItems[i].ID <= 0)