mirror of
https://github.com/ppy/osu.git
synced 2025-01-28 02:02:53 +08:00
Merge pull request #23832 from peppy/fix-catch-distance-spacing-display
Fix weird right-toolbox distance snapping display in osu!catch editor
This commit is contained in:
commit
fbbeb3893b
@ -125,6 +125,7 @@ namespace osu.Game.Rulesets.Edit
|
|||||||
if (currentSnap > DistanceSpacingMultiplier.MinValue)
|
if (currentSnap > DistanceSpacingMultiplier.MinValue)
|
||||||
{
|
{
|
||||||
currentDistanceSpacingButton.Enabled.Value = currentDistanceSpacingButton.Expanded.Value
|
currentDistanceSpacingButton.Enabled.Value = currentDistanceSpacingButton.Expanded.Value
|
||||||
|
&& !DistanceSpacingMultiplier.Disabled
|
||||||
&& !Precision.AlmostEquals(currentSnap, DistanceSpacingMultiplier.Value, DistanceSpacingMultiplier.Precision / 2);
|
&& !Precision.AlmostEquals(currentSnap, DistanceSpacingMultiplier.Value, DistanceSpacingMultiplier.Precision / 2);
|
||||||
currentDistanceSpacingButton.ContractedLabelText = $"current {currentSnap:N2}x";
|
currentDistanceSpacingButton.ContractedLabelText = $"current {currentSnap:N2}x";
|
||||||
currentDistanceSpacingButton.ExpandedLabelText = $"Use current ({currentSnap:N2}x)";
|
currentDistanceSpacingButton.ExpandedLabelText = $"Use current ({currentSnap:N2}x)";
|
||||||
@ -141,28 +142,31 @@ namespace osu.Game.Rulesets.Edit
|
|||||||
{
|
{
|
||||||
base.LoadComplete();
|
base.LoadComplete();
|
||||||
|
|
||||||
if (!DistanceSpacingMultiplier.Disabled)
|
if (DistanceSpacingMultiplier.Disabled)
|
||||||
{
|
{
|
||||||
DistanceSpacingMultiplier.Value = EditorBeatmap.BeatmapInfo.DistanceSpacing;
|
distanceSpacingSlider.Hide();
|
||||||
DistanceSpacingMultiplier.BindValueChanged(multiplier =>
|
return;
|
||||||
{
|
|
||||||
distanceSpacingSlider.ContractedLabelText = $"D. S. ({multiplier.NewValue:0.##x})";
|
|
||||||
distanceSpacingSlider.ExpandedLabelText = $"Distance Spacing ({multiplier.NewValue:0.##x})";
|
|
||||||
|
|
||||||
if (multiplier.NewValue != multiplier.OldValue)
|
|
||||||
onScreenDisplay?.Display(new DistanceSpacingToast(multiplier.NewValue.ToLocalisableString(@"0.##x"), multiplier));
|
|
||||||
|
|
||||||
EditorBeatmap.BeatmapInfo.DistanceSpacing = multiplier.NewValue;
|
|
||||||
}, true);
|
|
||||||
|
|
||||||
// Manual binding to handle enabling distance spacing when the slider is interacted with.
|
|
||||||
distanceSpacingSlider.Current.BindValueChanged(spacing =>
|
|
||||||
{
|
|
||||||
DistanceSpacingMultiplier.Value = spacing.NewValue;
|
|
||||||
DistanceSnapToggle.Value = TernaryState.True;
|
|
||||||
});
|
|
||||||
DistanceSpacingMultiplier.BindValueChanged(spacing => distanceSpacingSlider.Current.Value = spacing.NewValue);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
DistanceSpacingMultiplier.Value = EditorBeatmap.BeatmapInfo.DistanceSpacing;
|
||||||
|
DistanceSpacingMultiplier.BindValueChanged(multiplier =>
|
||||||
|
{
|
||||||
|
distanceSpacingSlider.ContractedLabelText = $"D. S. ({multiplier.NewValue:0.##x})";
|
||||||
|
distanceSpacingSlider.ExpandedLabelText = $"Distance Spacing ({multiplier.NewValue:0.##x})";
|
||||||
|
|
||||||
|
if (multiplier.NewValue != multiplier.OldValue)
|
||||||
|
onScreenDisplay?.Display(new DistanceSpacingToast(multiplier.NewValue.ToLocalisableString(@"0.##x"), multiplier));
|
||||||
|
|
||||||
|
EditorBeatmap.BeatmapInfo.DistanceSpacing = multiplier.NewValue;
|
||||||
|
}, true);
|
||||||
|
|
||||||
|
// Manual binding to handle enabling distance spacing when the slider is interacted with.
|
||||||
|
distanceSpacingSlider.Current.BindValueChanged(spacing =>
|
||||||
|
{
|
||||||
|
DistanceSpacingMultiplier.Value = spacing.NewValue;
|
||||||
|
DistanceSnapToggle.Value = TernaryState.True;
|
||||||
|
});
|
||||||
|
DistanceSpacingMultiplier.BindValueChanged(spacing => distanceSpacingSlider.Current.Value = spacing.NewValue);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected override IEnumerable<TernaryButton> CreateTernaryButtons() => base.CreateTernaryButtons().Concat(new[]
|
protected override IEnumerable<TernaryButton> CreateTernaryButtons() => base.CreateTernaryButtons().Concat(new[]
|
||||||
|
Loading…
Reference in New Issue
Block a user