1
0
mirror of https://github.com/ppy/osu.git synced 2025-03-15 23:57:25 +08:00

Merge pull request #19964 from nanashi-1/merge-hitobject-hitsound-fix

Fix hitobjects merge feature in editor not adding any hitsounds
This commit is contained in:
Dean Herbert 2022-08-26 20:05:02 +09:00 committed by GitHub
commit 69cbc0125b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 17 additions and 0 deletions

View File

@ -77,6 +77,8 @@ namespace osu.Game.Rulesets.Osu.Tests.Editor
return sliderCreatedFor(args); return sliderCreatedFor(args);
}); });
AddAssert("samples exist", sliderSampleExist);
AddStep("undo", () => Editor.Undo()); AddStep("undo", () => Editor.Undo());
AddAssert("merged objects restored", () => circle1 is not null && circle2 is not null && slider is not null && objectsRestored(circle1, slider, circle2)); AddAssert("merged objects restored", () => circle1 is not null && circle2 is not null && slider is not null && objectsRestored(circle1, slider, circle2));
} }
@ -122,6 +124,8 @@ namespace osu.Game.Rulesets.Osu.Tests.Editor
return sliderCreatedFor(args); return sliderCreatedFor(args);
}); });
AddAssert("samples exist", sliderSampleExist);
AddAssert("merged slider matches first slider", () => AddAssert("merged slider matches first slider", () =>
{ {
var mergedSlider = (Slider)EditorBeatmap.SelectedHitObjects.First(); var mergedSlider = (Slider)EditorBeatmap.SelectedHitObjects.First();
@ -165,6 +169,8 @@ namespace osu.Game.Rulesets.Osu.Tests.Editor
(pos: circle1.Position, pathType: PathType.Linear), (pos: circle1.Position, pathType: PathType.Linear),
(pos: circle2.Position, pathType: null))); (pos: circle2.Position, pathType: null)));
AddAssert("samples exist", sliderSampleExist);
AddAssert("spinner not merged", () => EditorBeatmap.HitObjects.Contains(spinner)); AddAssert("spinner not merged", () => EditorBeatmap.HitObjects.Contains(spinner));
} }
@ -209,5 +215,15 @@ namespace osu.Game.Rulesets.Osu.Tests.Editor
return true; return true;
} }
private bool sliderSampleExist()
{
if (EditorBeatmap.SelectedHitObjects.Count != 1)
return false;
var mergedSlider = (Slider)EditorBeatmap.SelectedHitObjects.First();
return mergedSlider.Samples[0] is not null;
}
} }
} }

View File

@ -371,6 +371,7 @@ namespace osu.Game.Rulesets.Osu.Edit
Position = firstHitObject.Position, Position = firstHitObject.Position,
NewCombo = firstHitObject.NewCombo, NewCombo = firstHitObject.NewCombo,
SampleControlPoint = firstHitObject.SampleControlPoint, SampleControlPoint = firstHitObject.SampleControlPoint,
Samples = firstHitObject.Samples,
}; };
if (mergedHitObject.Path.ControlPoints.Count == 0) if (mergedHitObject.Path.ControlPoints.Count == 0)