mirror of
https://github.com/ppy/osu.git
synced 2025-02-21 03:02:54 +08:00
Bring back custom fade-out delay if hit lighting is on
This commit is contained in:
parent
5fc7039bf2
commit
7ad3101d08
@ -43,6 +43,8 @@ namespace osu.Game.Rulesets.Osu.Tests
|
|||||||
showResult(HitResult.Great);
|
showResult(HitResult.Great);
|
||||||
|
|
||||||
AddUntilStep("judgements shown", () => this.ChildrenOfType<TestDrawableOsuJudgement>().Any());
|
AddUntilStep("judgements shown", () => this.ChildrenOfType<TestDrawableOsuJudgement>().Any());
|
||||||
|
AddAssert("judgement body immediately visible",
|
||||||
|
() => this.ChildrenOfType<TestDrawableOsuJudgement>().All(judgement => judgement.JudgementBody.Alpha == 1));
|
||||||
AddAssert("hit lighting hidden",
|
AddAssert("hit lighting hidden",
|
||||||
() => this.ChildrenOfType<TestDrawableOsuJudgement>().All(judgement => judgement.Lighting.Alpha == 0));
|
() => this.ChildrenOfType<TestDrawableOsuJudgement>().All(judgement => judgement.Lighting.Alpha == 0));
|
||||||
}
|
}
|
||||||
@ -55,6 +57,8 @@ namespace osu.Game.Rulesets.Osu.Tests
|
|||||||
showResult(HitResult.Great);
|
showResult(HitResult.Great);
|
||||||
|
|
||||||
AddUntilStep("judgements shown", () => this.ChildrenOfType<TestDrawableOsuJudgement>().Any());
|
AddUntilStep("judgements shown", () => this.ChildrenOfType<TestDrawableOsuJudgement>().Any());
|
||||||
|
AddAssert("judgement body not immediately visible",
|
||||||
|
() => this.ChildrenOfType<TestDrawableOsuJudgement>().All(judgement => judgement.JudgementBody.Alpha > 0 && judgement.JudgementBody.Alpha < 1));
|
||||||
AddAssert("hit lighting shown",
|
AddAssert("hit lighting shown",
|
||||||
() => this.ChildrenOfType<TestDrawableOsuJudgement>().All(judgement => judgement.Lighting.Alpha > 0));
|
() => this.ChildrenOfType<TestDrawableOsuJudgement>().All(judgement => judgement.Lighting.Alpha > 0));
|
||||||
}
|
}
|
||||||
@ -102,6 +106,7 @@ namespace osu.Game.Rulesets.Osu.Tests
|
|||||||
private class TestDrawableOsuJudgement : DrawableOsuJudgement
|
private class TestDrawableOsuJudgement : DrawableOsuJudgement
|
||||||
{
|
{
|
||||||
public new SkinnableSprite Lighting => base.Lighting;
|
public new SkinnableSprite Lighting => base.Lighting;
|
||||||
|
public new Container JudgementBody => base.JudgementBody;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -75,17 +75,26 @@ namespace osu.Game.Rulesets.Osu.Objects.Drawables
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
protected override double FadeOutDelay => Lighting == null ? base.FadeOutDelay : 1400;
|
private double fadeOutDelay;
|
||||||
|
protected override double FadeOutDelay => fadeOutDelay;
|
||||||
|
|
||||||
protected override void ApplyHitAnimations()
|
protected override void ApplyHitAnimations()
|
||||||
{
|
{
|
||||||
if (config.Get<bool>(OsuSetting.HitLighting))
|
bool hitLightingEnabled = config.Get<bool>(OsuSetting.HitLighting);
|
||||||
|
|
||||||
|
if (hitLightingEnabled)
|
||||||
{
|
{
|
||||||
JudgementBody.FadeIn().Delay(FadeInDuration).FadeOut(400);
|
JudgementBody.FadeIn().Delay(FadeInDuration).FadeOut(400);
|
||||||
|
|
||||||
Lighting.ScaleTo(0.8f).ScaleTo(1.2f, 600, Easing.Out);
|
Lighting.ScaleTo(0.8f).ScaleTo(1.2f, 600, Easing.Out);
|
||||||
Lighting.FadeIn(200).Then().Delay(200).FadeOut(1000);
|
Lighting.FadeIn(200).Then().Delay(200).FadeOut(1000);
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
JudgementBody.Alpha = 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
fadeOutDelay = hitLightingEnabled ? 1400 : base.FadeOutDelay;
|
||||||
|
|
||||||
JudgementText?.TransformSpacingTo(Vector2.Zero).Then().TransformSpacingTo(new Vector2(14, 0), 1800, Easing.OutQuint);
|
JudgementText?.TransformSpacingTo(Vector2.Zero).Then().TransformSpacingTo(new Vector2(14, 0), 1800, Easing.OutQuint);
|
||||||
base.ApplyHitAnimations();
|
base.ApplyHitAnimations();
|
||||||
|
Loading…
Reference in New Issue
Block a user