mirror of
https://github.com/ppy/osu.git
synced 2024-12-05 10:23:20 +08:00
Merge pull request #8027 from smoogipoo/remove-multi-workarounds
Remove workarounds for CreateRoomRequest shortcomings
This commit is contained in:
commit
1ba9539d48
@ -65,9 +65,7 @@ namespace osu.Game.Online.Multiplayer
|
|||||||
|
|
||||||
public void MapObjects(BeatmapManager beatmaps, RulesetStore rulesets)
|
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
|
Beatmap.Value = apiBeatmap.ToBeatmap(rulesets);
|
||||||
// Todo: Is this a bug? Room creation only returns the beatmap ID
|
|
||||||
Beatmap.Value = apiBeatmap == null ? beatmaps.QueryBeatmap(b => b.OnlineBeatmapID == BeatmapID) : apiBeatmap.ToBeatmap(rulesets);
|
|
||||||
Ruleset.Value = rulesets.GetRuleset(RulesetID);
|
Ruleset.Value = rulesets.GetRuleset(RulesetID);
|
||||||
|
|
||||||
Ruleset rulesetInstance = Ruleset.Value.CreateInstance();
|
Ruleset rulesetInstance = Ruleset.Value.CreateInstance();
|
||||||
|
@ -118,15 +118,6 @@ namespace osu.Game.Online.Multiplayer
|
|||||||
if (DateTimeOffset.Now >= EndDate.Value)
|
if (DateTimeOffset.Now >= EndDate.Value)
|
||||||
Status.Value = new RoomStatusEnded();
|
Status.Value = new RoomStatusEnded();
|
||||||
|
|
||||||
// transfer local beatmaps across to ensure we have Metadata available (CreateRoomRequest does not give us metadata as expected)
|
|
||||||
foreach (var item in other.Playlist)
|
|
||||||
{
|
|
||||||
var localItem = Playlist.FirstOrDefault(i => i.BeatmapID == item.BeatmapID);
|
|
||||||
|
|
||||||
if (localItem != null)
|
|
||||||
item.Beatmap.Value.Metadata = localItem.Beatmap.Value.Metadata;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!Playlist.SequenceEqual(other.Playlist))
|
if (!Playlist.SequenceEqual(other.Playlist))
|
||||||
{
|
{
|
||||||
Playlist.Clear();
|
Playlist.Clear();
|
||||||
|
Loading…
Reference in New Issue
Block a user