mirror of https://github.com/ppy/osu
Fix cursor scale potentially not being updated if set too early
This commit is contained in:
parent
ffbb70d827
commit
e211ba5e7d
|
@ -30,7 +30,9 @@ public class OsuCursorContainer : GameplayCursorContainer, IKeyBindingHandler<Os
|
|||
|
||||
private readonly Drawable cursorTrail;
|
||||
|
||||
public Bindable<float> CursorScale = new BindableFloat(1);
|
||||
public IBindable<float> CursorScale => cursorScale;
|
||||
|
||||
private readonly Bindable<float> cursorScale = new BindableFloat(1);
|
||||
|
||||
private Bindable<float> userCursorScale;
|
||||
private Bindable<bool> autoCursorScale;
|
||||
|
@ -68,13 +70,13 @@ protected override void LoadComplete()
|
|||
autoCursorScale = config.GetBindable<bool>(OsuSetting.AutoCursorSize);
|
||||
autoCursorScale.ValueChanged += _ => calculateScale();
|
||||
|
||||
CursorScale.ValueChanged += e =>
|
||||
CursorScale.BindValueChanged(e =>
|
||||
{
|
||||
var newScale = new Vector2(e.NewValue);
|
||||
|
||||
ActiveCursor.Scale = newScale;
|
||||
cursorTrail.Scale = newScale;
|
||||
};
|
||||
}, true);
|
||||
|
||||
calculateScale();
|
||||
}
|
||||
|
@ -95,7 +97,7 @@ private void calculateScale()
|
|||
scale *= GetScaleForCircleSize(beatmap.BeatmapInfo.BaseDifficulty.CircleSize);
|
||||
}
|
||||
|
||||
CursorScale.Value = scale;
|
||||
cursorScale.Value = scale;
|
||||
|
||||
var newScale = new Vector2(scale);
|
||||
|
||||
|
|
|
@ -22,7 +22,7 @@ public class OsuResumeOverlay : ResumeOverlay
|
|||
private OsuClickToResumeCursor clickToResumeCursor;
|
||||
|
||||
private OsuCursorContainer localCursorContainer;
|
||||
private Bindable<float> localCursorScale;
|
||||
private IBindable<float> localCursorScale;
|
||||
|
||||
public override CursorContainer LocalCursor => State.Value == Visibility.Visible ? localCursorContainer : null;
|
||||
|
||||
|
|
Loading…
Reference in New Issue