Revert forced cloning of ControlPointInfo

This reverts commit 3c3e860dbc34d37855b79786a1abb754af1667e8.

Closes https://github.com/ppy/osu/issues/11491.
This commit is contained in:
Dean Herbert 2021-01-15 17:34:01 +09:00
parent 40f020c683
commit d6e6b4bbee
5 changed files with 14 additions and 12 deletions

View File

@ -50,15 +50,7 @@ namespace osu.Game.Beatmaps
IBeatmap IBeatmap.Clone() => Clone(); IBeatmap IBeatmap.Clone() => Clone();
public Beatmap<T> Clone() public Beatmap<T> Clone() => (Beatmap<T>)MemberwiseClone();
{
var clone = (Beatmap<T>)MemberwiseClone();
clone.ControlPointInfo = ControlPointInfo.CreateCopy();
// todo: deep clone other elements as required.
return clone;
}
} }
public class Beatmap : Beatmap<HitObject> public class Beatmap : Beatmap<HitObject>

View File

@ -24,7 +24,7 @@ namespace osu.Game.Beatmaps
/// <summary> /// <summary>
/// The control points in this beatmap. /// The control points in this beatmap.
/// </summary> /// </summary>
ControlPointInfo ControlPointInfo { get; } ControlPointInfo ControlPointInfo { get; set; }
/// <summary> /// <summary>
/// The breaks in this beatmap. /// The breaks in this beatmap.

View File

@ -111,6 +111,8 @@ namespace osu.Game.Beatmaps
// Convert // Convert
IBeatmap converted = converter.Convert(cancellationSource.Token); IBeatmap converted = converter.Convert(cancellationSource.Token);
converted.ControlPointInfo = converted.ControlPointInfo.CreateCopy();
// Apply conversion mods to the result // Apply conversion mods to the result
foreach (var mod in mods.OfType<IApplicableAfterBeatmapConversion>()) foreach (var mod in mods.OfType<IApplicableAfterBeatmapConversion>())
{ {

View File

@ -74,7 +74,11 @@ namespace osu.Game.Screens.Edit
public BeatmapMetadata Metadata => PlayableBeatmap.Metadata; public BeatmapMetadata Metadata => PlayableBeatmap.Metadata;
public ControlPointInfo ControlPointInfo => PlayableBeatmap.ControlPointInfo; public ControlPointInfo ControlPointInfo
{
get => PlayableBeatmap.ControlPointInfo;
set => PlayableBeatmap.ControlPointInfo = value;
}
public List<BreakPeriod> Breaks => PlayableBeatmap.Breaks; public List<BreakPeriod> Breaks => PlayableBeatmap.Breaks;

View File

@ -29,7 +29,11 @@ namespace osu.Game.Screens.Play
public BeatmapMetadata Metadata => PlayableBeatmap.Metadata; public BeatmapMetadata Metadata => PlayableBeatmap.Metadata;
public ControlPointInfo ControlPointInfo => PlayableBeatmap.ControlPointInfo; public ControlPointInfo ControlPointInfo
{
get => PlayableBeatmap.ControlPointInfo;
set => PlayableBeatmap.ControlPointInfo = value;
}
public List<BreakPeriod> Breaks => PlayableBeatmap.Breaks; public List<BreakPeriod> Breaks => PlayableBeatmap.Breaks;