mirror of
https://github.com/osukey/osukey.git
synced 2025-05-08 23:27:38 +09:00
Moved guards to separate canMerge method
This commit is contained in:
parent
16e0ec2f88
commit
d50e9caa11
@ -354,12 +354,14 @@ namespace osu.Game.Rulesets.Osu.Edit
|
|||||||
.OrderBy(h => h.StartTime)
|
.OrderBy(h => h.StartTime)
|
||||||
.ToArray();
|
.ToArray();
|
||||||
|
|
||||||
|
private bool canMerge(IReadOnlyList<OsuHitObject> objects) =>
|
||||||
|
objects.Count > 1 && (objects.Any(h => h is Slider) || Precision.DefinitelyBigger(Vector2.DistanceSquared(objects[0].Position, objects[1].Position), 1));
|
||||||
|
|
||||||
private void mergeSelection()
|
private void mergeSelection()
|
||||||
{
|
{
|
||||||
var mergeableObjects = selectedMergeableObjects;
|
var mergeableObjects = selectedMergeableObjects;
|
||||||
|
|
||||||
if (mergeableObjects.Length < 2 || (mergeableObjects.All(h => h is not Slider)
|
if (!canMerge(mergeableObjects))
|
||||||
&& Precision.AlmostBigger(1, Vector2.DistanceSquared(mergeableObjects[0].Position, mergeableObjects[1].Position))))
|
|
||||||
return;
|
return;
|
||||||
|
|
||||||
ChangeHandler?.BeginChange();
|
ChangeHandler?.BeginChange();
|
||||||
@ -446,9 +448,7 @@ namespace osu.Game.Rulesets.Osu.Edit
|
|||||||
foreach (var item in base.GetContextMenuItemsForSelection(selection))
|
foreach (var item in base.GetContextMenuItemsForSelection(selection))
|
||||||
yield return item;
|
yield return item;
|
||||||
|
|
||||||
var mergeableObjects = selectedMergeableObjects;
|
if (canMerge(selectedMergeableObjects))
|
||||||
if (mergeableObjects.Length > 1 && (mergeableObjects.Any(h => h is Slider)
|
|
||||||
|| Precision.DefinitelyBigger(Vector2.DistanceSquared(mergeableObjects[0].Position, mergeableObjects[1].Position), 1)))
|
|
||||||
yield return new OsuMenuItem("Merge selection", MenuItemType.Destructive, mergeSelection);
|
yield return new OsuMenuItem("Merge selection", MenuItemType.Destructive, mergeSelection);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user