Copy BaseDifficulty to Beatmap<T> and move all write operations across

This commit is contained in:
Dean Herbert
2021-10-02 12:34:29 +09:00
parent 5eb4210f78
commit b339c149d8
49 changed files with 163 additions and 108 deletions

View File

@ -120,14 +120,14 @@ namespace osu.Game.Beatmaps
if (mods.Any(m => m is IApplicableToDifficulty))
{
converted.BeatmapInfo = converted.BeatmapInfo.Clone();
converted.BeatmapInfo.BaseDifficulty = converted.BeatmapInfo.BaseDifficulty.Clone();
converted.Difficulty = converted.Difficulty.Clone();
foreach (var mod in mods.OfType<IApplicableToDifficulty>())
{
if (cancellationSource.IsCancellationRequested)
throw new BeatmapLoadTimeoutException(BeatmapInfo);
mod.ApplyToDifficulty(converted.BeatmapInfo.BaseDifficulty);
mod.ApplyToDifficulty(converted.Difficulty);
}
}
@ -146,7 +146,7 @@ namespace osu.Game.Beatmaps
if (cancellationSource.IsCancellationRequested)
throw new BeatmapLoadTimeoutException(BeatmapInfo);
obj.ApplyDefaults(converted.ControlPointInfo, converted.BeatmapInfo.BaseDifficulty, cancellationSource.Token);
obj.ApplyDefaults(converted.ControlPointInfo, converted.Difficulty, cancellationSource.Token);
}
}
catch (OperationCanceledException)