Merge branch 'master' into path-visualiser-refactor

This commit is contained in:
Dan Balasescu
2019-12-10 16:33:45 +09:00
committed by GitHub
24 changed files with 101 additions and 58 deletions

View File

@ -126,8 +126,8 @@ namespace osu.Game.Rulesets.Osu.Edit.Blueprints.Sliders.Components
slider.Path.ControlPoints.Remove(c);
}
// If there are 0 remaining control points, treat the slider as being deleted
if (slider.Path.ControlPoints.Count == 0)
// If there are 0 or 1 remaining control points, the slider is in a degenerate (single point) form and should be deleted
if (slider.Path.ControlPoints.Count <= 1)
{
placementHandler?.Delete(slider);
return true;
@ -161,7 +161,7 @@ namespace osu.Game.Rulesets.Osu.Edit.Blueprints.Sliders.Components
return new MenuItem[]
{
new OsuMenuItem($"Delete {"control point".ToQuantity(selectedPoints)}", MenuItemType.Destructive, () => deleteSelected())
new OsuMenuItem($"Delete {"control point".ToQuantity(selectedPoints, selectedPoints > 1 ? ShowQuantityAs.Numeric : ShowQuantityAs.None)}", MenuItemType.Destructive, () => deleteSelected())
};
}
}

View File

@ -104,7 +104,7 @@ namespace osu.Game.Rulesets.Osu.Edit.Blueprints.Sliders
int insertionIndex = 0;
float minDistance = float.MaxValue;
for (int i = 0; i < HitObject.Path.ControlPoints.Count - 2; i++)
for (int i = 0; i < HitObject.Path.ControlPoints.Count - 1; i++)
{
float dist = new Line(HitObject.Path.ControlPoints[i].Position.Value, HitObject.Path.ControlPoints[i + 1].Position.Value).DistanceToPoint(position);