1
0
mirror of https://github.com/ppy/osu.git synced 2024-12-14 20:22:55 +08:00

Fix playlist not updating correcly

This commit is contained in:
smoogipoo 2018-12-26 22:14:49 +09:00
parent a1fa914c66
commit e7310a16c7
3 changed files with 6 additions and 2 deletions

View File

@ -66,7 +66,7 @@ namespace osu.Game.Online.Multiplayer
public void MapObjects(BeatmapManager beatmaps, RulesetStore rulesets)
{
// If we don't have an api beatmap, the request occurred as a result of room creation, so we can query the local beatmap instead
// Todo: Is this a bug?
// Todo: Is this a bug? Room creation only returns the beatmap ID
Beatmap = apiBeatmap == null ? beatmaps.QueryBeatmap(b => b.OnlineBeatmapID == BeatmapID) : apiBeatmap.ToBeatmap(rulesets);
Ruleset = rulesets.GetRuleset(RulesetID);

View File

@ -95,6 +95,8 @@ namespace osu.Game.Online.Multiplayer
// Todo: Temporary, should only remove/add new items (requires framework changes)
if (Playlist.Count == 0)
Playlist.AddRange(other.Playlist);
else if (other.Playlist.Count > 0)
Playlist.First().ID = other.Playlist.First().ID;
}
public bool ShouldSerializeRoomID() => false;

View File

@ -154,7 +154,9 @@ namespace osu.Game.Screens.Multi
{
foreach (var pi in remote.Playlist)
pi.MapObjects(beatmaps, rulesets);
local.CopyFrom(remote);
if (local != remote)
local.CopyFrom(remote);
}
/// <summary>