1
0
mirror of https://github.com/ppy/osu.git synced 2025-02-13 19:53:23 +08:00

Enable fading when hidden only hides appreach circles

This commit is contained in:
Adam 2023-02-16 16:31:42 -06:00
parent 5e774a28d8
commit e06502085e

View File

@ -36,7 +36,7 @@ namespace osu.Game.Rulesets.Osu.Mods
[SettingSource("Fade out hit circles earlier", "Make hit circles fade out into a miss, rather than after it.")] [SettingSource("Fade out hit circles earlier", "Make hit circles fade out into a miss, rather than after it.")]
public Bindable<bool> FadeHitCircleEarly { get; } = new Bindable<bool>(true); public Bindable<bool> FadeHitCircleEarly { get; } = new Bindable<bool>(true);
private bool hiddenModActive; private bool usingHiddenFading;
public void ApplyToHitObject(HitObject hitObject) public void ApplyToHitObject(HitObject hitObject)
{ {
@ -59,7 +59,7 @@ namespace osu.Game.Rulesets.Osu.Mods
if (ClassicNoteLock.Value) if (ClassicNoteLock.Value)
osuRuleset.Playfield.HitPolicy = new ObjectOrderedHitPolicy(); osuRuleset.Playfield.HitPolicy = new ObjectOrderedHitPolicy();
hiddenModActive = drawableRuleset.Mods.OfType<ModHidden>().Any(); usingHiddenFading = !drawableRuleset.Mods.OfType<OsuModHidden>().FirstOrDefault()?.OnlyFadeApproachCircles.Value ?? false;
} }
public void ApplyToDrawableHitObject(DrawableHitObject obj) public void ApplyToDrawableHitObject(DrawableHitObject obj)
@ -68,7 +68,7 @@ namespace osu.Game.Rulesets.Osu.Mods
{ {
case DrawableSliderHead head: case DrawableSliderHead head:
head.TrackFollowCircle = !NoSliderHeadMovement.Value; head.TrackFollowCircle = !NoSliderHeadMovement.Value;
if (FadeHitCircleEarly.Value && !hiddenModActive) if (FadeHitCircleEarly.Value && !usingHiddenFading)
applyEarlyFading(head); applyEarlyFading(head);
break; break;
@ -77,7 +77,7 @@ namespace osu.Game.Rulesets.Osu.Mods
break; break;
case DrawableHitCircle circle: case DrawableHitCircle circle:
if (FadeHitCircleEarly.Value && !hiddenModActive) if (FadeHitCircleEarly.Value && !usingHiddenFading)
applyEarlyFading(circle); applyEarlyFading(circle);
break; break;
} }