mirror of
https://github.com/ppy/osu.git
synced 2025-01-14 02:13:21 +08:00
Don't play logo select sample when actions are playing their own
This commit is contained in:
parent
07d6a70028
commit
ae48b85827
@ -180,19 +180,21 @@ namespace osu.Game.Screens.Menu
|
||||
State = MenuState.TopLevel;
|
||||
}
|
||||
|
||||
private void onOsuLogo()
|
||||
private bool onOsuLogo()
|
||||
{
|
||||
switch (state)
|
||||
{
|
||||
default:
|
||||
return true;
|
||||
case MenuState.Initial:
|
||||
State = MenuState.TopLevel;
|
||||
return;
|
||||
return true;
|
||||
case MenuState.TopLevel:
|
||||
buttonsTopLevel.First().TriggerOnClick();
|
||||
return;
|
||||
return false;
|
||||
case MenuState.Play:
|
||||
buttonsPlay.First().TriggerOnClick();
|
||||
return;
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -48,7 +48,10 @@ namespace osu.Game.Screens.Menu
|
||||
|
||||
private readonly Triangles triangles;
|
||||
|
||||
public Action Action;
|
||||
/// <summary>
|
||||
/// Return value decides whether the logo should play its own sample for the click action.
|
||||
/// </summary>
|
||||
public Func<bool> Action;
|
||||
|
||||
public float SizeForFlow => logo == null ? 0 : logo.DrawSize.X * logo.Scale.X * logoBounceContainer.Scale.X * logoHoverContainer.Scale.X * 0.74f;
|
||||
|
||||
@ -354,13 +357,12 @@ namespace osu.Game.Screens.Menu
|
||||
{
|
||||
if (!interactive) return false;
|
||||
|
||||
sampleClick.Play();
|
||||
if (Action?.Invoke() ?? true)
|
||||
sampleClick.Play();
|
||||
|
||||
flashLayer.ClearTransforms();
|
||||
flashLayer.Alpha = 0.4f;
|
||||
flashLayer.FadeOut(1500, Easing.OutExpo);
|
||||
|
||||
Action?.Invoke();
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@ -332,7 +332,11 @@ namespace osu.Game.Screens.Select
|
||||
logo.FadeIn(logo_transition, Easing.OutQuint);
|
||||
logo.ScaleTo(0.4f, logo_transition, Easing.OutQuint);
|
||||
|
||||
logo.Action = () => carouselRaisedStart();
|
||||
logo.Action = () =>
|
||||
{
|
||||
carouselRaisedStart();
|
||||
return true;
|
||||
};
|
||||
}
|
||||
|
||||
protected override void LogoExiting(OsuLogo logo)
|
||||
|
Loading…
Reference in New Issue
Block a user