mirror of
https://github.com/ppy/osu.git
synced 2025-03-15 21:17:46 +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:
commit
69cbc0125b
@ -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;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -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)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user