mirror of https://github.com/ppy/osu
Change main menu buttons to be activate OnClick.
This commit is contained in:
parent
f060eb07dd
commit
e2f680a65f
|
@ -27,6 +27,8 @@ public class Button : Container, IStateful<ButtonState>
|
|||
{
|
||||
private Container iconText;
|
||||
private Container box;
|
||||
private Box boxColourLayer;
|
||||
private Box boxHoverLayer;
|
||||
private Color4 colour;
|
||||
private TextAwesome icon;
|
||||
private string internalName;
|
||||
|
@ -72,16 +74,24 @@ public Button(string text, string internalName, FontAwesome symbol, Color4 colou
|
|||
},
|
||||
Anchor = Anchor.Centre,
|
||||
Origin = Anchor.Centre,
|
||||
Colour = colour,
|
||||
Scale = new Vector2(0, 1),
|
||||
Size = boxSize,
|
||||
Shear = new Vector2(ButtonSystem.WEDGE_WIDTH / boxSize.Y, 0),
|
||||
Children = new Drawable[]
|
||||
Children = new []
|
||||
{
|
||||
new Box
|
||||
boxColourLayer = new Box
|
||||
{
|
||||
EdgeSmoothness = new Vector2(1.5f, 0),
|
||||
RelativeSizeAxes = Axes.Both,
|
||||
Colour = colour,
|
||||
},
|
||||
boxHoverLayer = new Box
|
||||
{
|
||||
EdgeSmoothness = new Vector2(1.5f, 0),
|
||||
RelativeSizeAxes = Axes.Both,
|
||||
BlendingMode = BlendingMode.Additive,
|
||||
Colour = Color4.White,
|
||||
Alpha = 0,
|
||||
},
|
||||
}
|
||||
},
|
||||
|
@ -228,6 +238,18 @@ private void load(AudioManager audio)
|
|||
}
|
||||
|
||||
protected override bool OnMouseDown(InputState state, MouseDownEventArgs args)
|
||||
{
|
||||
boxHoverLayer.FadeTo(0.1f, 1000, EasingTypes.OutQuint);
|
||||
return base.OnMouseDown(state, args);
|
||||
}
|
||||
|
||||
protected override bool OnMouseUp(InputState state, MouseUpEventArgs args)
|
||||
{
|
||||
boxHoverLayer.FadeTo(0, 1000, EasingTypes.OutQuint);
|
||||
return base.OnMouseUp(state, args);
|
||||
}
|
||||
|
||||
protected override bool OnClick(InputState state)
|
||||
{
|
||||
trigger();
|
||||
return true;
|
||||
|
@ -250,7 +272,9 @@ private void trigger()
|
|||
{
|
||||
sampleClick.Play();
|
||||
|
||||
box.FlashColour(Color4.White, 500, EasingTypes.OutExpo);
|
||||
boxHoverLayer.ClearTransformations();
|
||||
boxHoverLayer.Alpha = 0.9f;
|
||||
boxHoverLayer.FadeOut(800, EasingTypes.OutExpo);
|
||||
|
||||
clickAction?.Invoke();
|
||||
}
|
||||
|
|
|
@ -172,10 +172,10 @@ private void onOsuLogo()
|
|||
State = MenuState.TopLevel;
|
||||
return;
|
||||
case MenuState.TopLevel:
|
||||
buttonsTopLevel.First().TriggerMouseDown();
|
||||
buttonsTopLevel.First().TriggerClick();
|
||||
return;
|
||||
case MenuState.Play:
|
||||
buttonsPlay.First().TriggerMouseDown();
|
||||
buttonsPlay.First().TriggerClick();
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue