diff --git a/osu.Game/Graphics/Containers/ScalingContainer.cs b/osu.Game/Graphics/Containers/ScalingContainer.cs index 12e570d62d..ca8b6f388f 100644 --- a/osu.Game/Graphics/Containers/ScalingContainer.cs +++ b/osu.Game/Graphics/Containers/ScalingContainer.cs @@ -84,7 +84,7 @@ namespace osu.Game.Graphics.Containers private readonly bool applyUIScale; private Bindable uiScale; - private readonly Bindable currentScale = new Bindable(1); + private float currentScale = 1; public override bool ReceivePositionalInputAt(Vector2 screenSpacePos) => true; @@ -99,19 +99,14 @@ namespace osu.Game.Graphics.Containers if (applyUIScale) { uiScale = osuConfig.GetBindable(OsuSetting.UIScale); - uiScale.BindValueChanged(scaleChanged, true); + uiScale.BindValueChanged(args => this.TransformTo(nameof(currentScale), args.NewValue, duration, Easing.OutQuart), true); } } - private void scaleChanged(ValueChangedEvent args) - { - this.TransformBindableTo(currentScale, args.NewValue, duration, Easing.OutQuart); - } - protected override void Update() { - Scale = new Vector2(currentScale.Value); - Size = new Vector2(1 / currentScale.Value); + Scale = new Vector2(currentScale); + Size = new Vector2(1 / currentScale); base.Update(); }