1
0
mirror of https://github.com/ppy/osu.git synced 2025-03-15 13:27:20 +08:00

Hide spinner approach circle in "Hidden" mod

This commit is contained in:
Salman Ahmed 2021-06-17 04:57:29 +03:00
parent 9d9892e99e
commit c9458fd9ce
3 changed files with 17 additions and 0 deletions

View File

@ -110,6 +110,9 @@ namespace osu.Game.Rulesets.Osu.Mods
// hide elements we don't care about.
// todo: hide background
using (spinner.BeginAbsoluteSequence(hitObject.StartTime - hitObject.TimePreempt))
spinner.HideApproachCircle();
using (spinner.BeginAbsoluteSequence(fadeStartTime))
spinner.FadeOut(fadeDuration);

View File

@ -42,6 +42,8 @@ namespace osu.Game.Rulesets.Osu.Objects.Drawables
private const float spinning_sample_initial_frequency = 1.0f;
private const float spinning_sample_modulated_base_frequency = 0.5f;
internal readonly Bindable<Visibility> ApproachCircleVisibility = new Bindable<Visibility>(Visibility.Visible);
/// <summary>
/// The amount of bonus score gained from spinning after the required number of spins, for display purposes.
/// </summary>
@ -285,6 +287,11 @@ namespace osu.Game.Rulesets.Osu.Objects.Drawables
updateBonusScore();
}
/// <summary>
/// Hides the spinner's approach circle if it has one.
/// </summary>
public void HideApproachCircle() => this.TransformBindableTo(ApproachCircleVisibility, Visibility.Hidden);
private static readonly int score_per_tick = new SpinnerBonusTick.OsuSpinnerBonusTickJudgement().MaxNumericResult;
private int wholeSpins;

View File

@ -125,6 +125,7 @@ namespace osu.Game.Rulesets.Osu.Skinning.Legacy
}
}
private IBindable<Visibility> approachCircleVisibility;
private IBindable<double> gainedBonus;
private IBindable<double> spinsPerMinute;
@ -134,6 +135,12 @@ namespace osu.Game.Rulesets.Osu.Skinning.Legacy
{
base.LoadComplete();
approachCircleVisibility = DrawableSpinner.ApproachCircleVisibility.GetBoundCopy();
approachCircleVisibility.BindValueChanged(v =>
{
approachCircle.Alpha = v.NewValue == Visibility.Hidden ? 0 : 1;
}, true);
gainedBonus = DrawableSpinner.GainedBonus.GetBoundCopy();
gainedBonus.BindValueChanged(bonus =>
{