Adjust scrubbing behaviour to allow dragging through rate values

This commit is contained in:
Ronnie Moir 2021-02-23 15:52:53 +00:00
parent f45cedeb85
commit a6e840634b
2 changed files with 8 additions and 8 deletions

View File

@ -20,7 +20,7 @@ namespace osu.Game.Rulesets.Mods
[SettingSource("Initial rate", "The starting speed of the track")] [SettingSource("Initial rate", "The starting speed of the track")]
public override BindableNumber<double> InitialRate { get; } = new BindableDouble public override BindableNumber<double> InitialRate { get; } = new BindableDouble
{ {
MinValue = 0.5, MinValue = 0.51,
MaxValue = 2, MaxValue = 2,
Default = 1, Default = 1,
Value = 1, Value = 1,
@ -31,7 +31,7 @@ namespace osu.Game.Rulesets.Mods
public override BindableNumber<double> FinalRate { get; } = new BindableDouble public override BindableNumber<double> FinalRate { get; } = new BindableDouble
{ {
MinValue = 0.5, MinValue = 0.5,
MaxValue = 2, MaxValue = 1.99,
Default = 0.75, Default = 0.75,
Value = 0.75, Value = 0.75,
Precision = 0.01, Precision = 0.01,
@ -49,10 +49,10 @@ namespace osu.Game.Rulesets.Mods
public ModWindDown() public ModWindDown()
{ {
InitialRate.BindValueChanged(val => InitialRate.BindValueChanged(val =>
InitialRate.Value = Math.Max(val.NewValue, FinalRate.Value + 0.01)); FinalRate.Value = Math.Min(FinalRate.Value, val.NewValue - 0.01));
FinalRate.BindValueChanged(val => FinalRate.BindValueChanged(val =>
FinalRate.Value = Math.Min(val.NewValue, InitialRate.Value - 0.01)); InitialRate.Value = Math.Max(InitialRate.Value, val.NewValue + 0.01));
} }
} }
} }

View File

@ -21,7 +21,7 @@ namespace osu.Game.Rulesets.Mods
public override BindableNumber<double> InitialRate { get; } = new BindableDouble public override BindableNumber<double> InitialRate { get; } = new BindableDouble
{ {
MinValue = 0.5, MinValue = 0.5,
MaxValue = 2, MaxValue = 1.99,
Default = 1, Default = 1,
Value = 1, Value = 1,
Precision = 0.01, Precision = 0.01,
@ -30,7 +30,7 @@ namespace osu.Game.Rulesets.Mods
[SettingSource("Final rate", "The speed increase to ramp towards")] [SettingSource("Final rate", "The speed increase to ramp towards")]
public override BindableNumber<double> FinalRate { get; } = new BindableDouble public override BindableNumber<double> FinalRate { get; } = new BindableDouble
{ {
MinValue = 0.5, MinValue = 0.51,
MaxValue = 2, MaxValue = 2,
Default = 1.5, Default = 1.5,
Value = 1.5, Value = 1.5,
@ -49,10 +49,10 @@ namespace osu.Game.Rulesets.Mods
public ModWindUp() public ModWindUp()
{ {
InitialRate.BindValueChanged(val => InitialRate.BindValueChanged(val =>
InitialRate.Value = Math.Min(val.NewValue, FinalRate.Value - 0.01)); FinalRate.Value = Math.Max(FinalRate.Value, val.NewValue + 0.01));
FinalRate.BindValueChanged(val => FinalRate.BindValueChanged(val =>
FinalRate.Value = Math.Max(val.NewValue, InitialRate.Value + 0.01)); InitialRate.Value = Math.Min(InitialRate.Value, val.NewValue - 0.01));
} }
} }
} }