1
0
mirror of https://github.com/ppy/osu.git synced 2024-12-15 12:02:54 +08:00

Move section update code to abstract method to avoid incorrect BindValue usage

This commit is contained in:
Dean Herbert 2019-11-06 14:36:43 +09:00
parent 322a1f0a86
commit ebfb5d050d
5 changed files with 19 additions and 28 deletions

View File

@ -2,6 +2,7 @@
// See the LICENCE file in the repository root for full licence text. // See the LICENCE file in the repository root for full licence text.
using osu.Framework.Allocation; using osu.Framework.Allocation;
using osu.Framework.Bindables;
using osu.Game.Beatmaps.ControlPoints; using osu.Game.Beatmaps.ControlPoints;
using osu.Game.Graphics.Sprites; using osu.Game.Graphics.Sprites;
@ -20,11 +21,9 @@ namespace osu.Game.Screens.Edit.Timing
}); });
} }
protected override void LoadComplete() protected override void OnControlPointChanged(ValueChangedEvent<DifficultyControlPoint> point)
{ {
base.LoadComplete(); multiplier.Text = $"Multiplier: {point.NewValue?.SpeedMultiplier:0.##}x";
ControlPoint.BindValueChanged(point => { multiplier.Text = $"Multiplier: {point.NewValue?.SpeedMultiplier:0.##}x"; });
} }
protected override DifficultyControlPoint CreatePoint() protected override DifficultyControlPoint CreatePoint()

View File

@ -2,6 +2,7 @@
// See the LICENCE file in the repository root for full licence text. // See the LICENCE file in the repository root for full licence text.
using osu.Framework.Allocation; using osu.Framework.Allocation;
using osu.Framework.Bindables;
using osu.Game.Beatmaps.ControlPoints; using osu.Game.Beatmaps.ControlPoints;
using osu.Game.Graphics.Sprites; using osu.Game.Graphics.Sprites;
@ -22,15 +23,10 @@ namespace osu.Game.Screens.Edit.Timing
}); });
} }
protected override void LoadComplete() protected override void OnControlPointChanged(ValueChangedEvent<EffectControlPoint> point)
{
base.LoadComplete();
ControlPoint.BindValueChanged(point =>
{ {
kiai.Text = $"Kiai: {(point.NewValue?.KiaiMode == true ? "on" : "off")}"; kiai.Text = $"Kiai: {(point.NewValue?.KiaiMode == true ? "on" : "off")}";
omitBarLine.Text = $"Skip Bar Line: {(point.NewValue?.OmitFirstBarLine == true ? "on" : "off")}"; omitBarLine.Text = $"Skip Bar Line: {(point.NewValue?.OmitFirstBarLine == true ? "on" : "off")}";
});
} }
protected override EffectControlPoint CreatePoint() protected override EffectControlPoint CreatePoint()

View File

@ -2,6 +2,7 @@
// See the LICENCE file in the repository root for full licence text. // See the LICENCE file in the repository root for full licence text.
using osu.Framework.Allocation; using osu.Framework.Allocation;
using osu.Framework.Bindables;
using osu.Game.Beatmaps.ControlPoints; using osu.Game.Beatmaps.ControlPoints;
using osu.Game.Graphics.Sprites; using osu.Game.Graphics.Sprites;
@ -22,15 +23,10 @@ namespace osu.Game.Screens.Edit.Timing
}); });
} }
protected override void LoadComplete() protected override void OnControlPointChanged(ValueChangedEvent<SampleControlPoint> point)
{
base.LoadComplete();
ControlPoint.BindValueChanged(point =>
{ {
bank.Text = $"Bank: {point.NewValue?.SampleBank}"; bank.Text = $"Bank: {point.NewValue?.SampleBank}";
volume.Text = $"Volume: {point.NewValue?.SampleVolume}%"; volume.Text = $"Volume: {point.NewValue?.SampleVolume}%";
});
} }
protected override SampleControlPoint CreatePoint() protected override SampleControlPoint CreatePoint()

View File

@ -119,8 +119,12 @@ namespace osu.Game.Screens.Edit.Timing
ControlPoint.Value = points.NewValue?.ControlPoints.OfType<T>().FirstOrDefault(); ControlPoint.Value = points.NewValue?.ControlPoints.OfType<T>().FirstOrDefault();
checkbox.Current.Value = ControlPoint.Value != null; checkbox.Current.Value = ControlPoint.Value != null;
}, true); }, true);
ControlPoint.BindValueChanged(OnControlPointChanged, true);
} }
protected abstract void OnControlPointChanged(ValueChangedEvent<T> point);
protected abstract T CreatePoint(); protected abstract T CreatePoint();
} }
} }

View File

@ -2,6 +2,7 @@
// See the LICENCE file in the repository root for full licence text. // See the LICENCE file in the repository root for full licence text.
using osu.Framework.Allocation; using osu.Framework.Allocation;
using osu.Framework.Bindables;
using osu.Game.Beatmaps.ControlPoints; using osu.Game.Beatmaps.ControlPoints;
using osu.Game.Graphics.Sprites; using osu.Game.Graphics.Sprites;
@ -22,15 +23,10 @@ namespace osu.Game.Screens.Edit.Timing
}); });
} }
protected override void LoadComplete() protected override void OnControlPointChanged(ValueChangedEvent<TimingControlPoint> point)
{
base.LoadComplete();
ControlPoint.BindValueChanged(point =>
{ {
bpm.Text = $"BPM: {point.NewValue?.BPM:0.##}"; bpm.Text = $"BPM: {point.NewValue?.BPM:0.##}";
timeSignature.Text = $"Signature: {point.NewValue?.TimeSignature}"; timeSignature.Text = $"Signature: {point.NewValue?.TimeSignature}";
});
} }
protected override TimingControlPoint CreatePoint() protected override TimingControlPoint CreatePoint()