Fix race conditions causing menu transitions to look wrong when executed in very fast succession.

This commit is contained in:
Dean Herbert 2017-02-07 22:19:36 +09:00
parent d06f0cf870
commit 34a030e3be
No known key found for this signature in database
GPG Key ID: 46D71BF4958ABB49
2 changed files with 6 additions and 4 deletions

View File

@ -272,11 +272,11 @@ private void trigger()
{
sampleClick.Play();
clickAction?.Invoke();
boxHoverLayer.ClearTransformations();
boxHoverLayer.Alpha = 0.9f;
boxHoverLayer.FadeOut(800, EasingTypes.OutExpo);
clickAction?.Invoke();
}
public override bool HandleInput => state != ButtonState.Exploded && box.Scale.X >= 0.8f;

View File

@ -146,7 +146,7 @@ protected override bool OnKeyDown(InputState state, KeyDownEventArgs args)
State = MenuState.Initial;
return true;
case MenuState.Play:
State = MenuState.TopLevel;
backButton.TriggerClick();
return true;
}
@ -216,7 +216,7 @@ public MenuState State
{
case MenuState.Initial:
buttonAreaBackground.ScaleTo(Vector2.One, 500, EasingTypes.Out);
buttonArea.FadeOut(500);
buttonArea.FadeOut(300);
osuLogo.Delay(150);
osuLogo.MoveTo(Vector2.Zero, 800, EasingTypes.OutExpo);
@ -229,6 +229,8 @@ public MenuState State
b.State = ButtonState.Contracted;
break;
case MenuState.TopLevel:
buttonArea.Flush(true);
buttonAreaBackground.ScaleTo(Vector2.One, 200, EasingTypes.Out);
osuLogo.MoveTo(buttonFlow.DrawPosition, 200, EasingTypes.In);