// Copyright (c) ppy Pty Ltd . Licensed under the MIT Licence. // See the LICENCE file in the repository root for full licence text. using System.Collections.Generic; using osu.Framework.Bindables; using osu.Game.Rulesets.Objects; namespace osu.Game.Screens.Edit.Commands { public static class SliderPathCommandProxy { public static double? ExpectedDistance(this CommandProxy proxy) => proxy.Target.ExpectedDistance.Value; public static void SetExpectedDistance(this CommandProxy proxy, double? value) => proxy.Submit(new SetExpectedDistanceCommand(proxy.Target, value)); public static ListCommandProxy, PathControlPoint, CommandProxy> ControlPoints(this CommandProxy proxy) => new ListCommandProxy, PathControlPoint, CommandProxy>(proxy.CommandHandler, proxy.Target.ControlPoints); public static IEnumerable GetSegmentEnds(this ICommandProxy proxy) => proxy.Target.GetSegmentEnds(); } }