Merge branch 'master' into update-framework

This commit is contained in:
Bartłomiej Dach
2022-11-26 16:19:36 +01:00
40 changed files with 252 additions and 180 deletions

View File

@ -4,17 +4,16 @@
#nullable disable
using osu.Framework.Allocation;
using osu.Game.Graphics.UserInterfaceV2;
namespace osu.Game.Graphics.UserInterface
{
public partial class DangerousTriangleButton : TriangleButton
public partial class DangerousRoundedButton : RoundedButton
{
[BackgroundDependencyLoader]
private void load(OsuColour colours)
{
BackgroundColour = colours.PinkDark;
Triangles.ColourDark = colours.PinkDarker;
Triangles.ColourLight = colours.Pink;
}
}
}

View File

@ -37,7 +37,7 @@ namespace osu.Game.Graphics.UserInterface
/// <summary>
/// Sets a custom background colour to this button, replacing the provided default.
/// </summary>
public Color4 BackgroundColour
public virtual Color4 BackgroundColour
{
get => backgroundColour ?? defaultBackgroundColour;
set
@ -90,6 +90,7 @@ namespace osu.Game.Graphics.UserInterface
Anchor = Anchor.Centre,
Origin = Anchor.Centre,
RelativeSizeAxes = Axes.Both,
Depth = float.MaxValue,
},
Hover = new Box
{
@ -141,13 +142,15 @@ namespace osu.Game.Graphics.UserInterface
return base.OnClick(e);
}
protected virtual float HoverLayerFinalAlpha => 0.1f;
protected override bool OnHover(HoverEvent e)
{
if (Enabled.Value)
{
Hover.FadeTo(0.2f, 40, Easing.OutQuint)
.Then()
.FadeTo(0.1f, 800, Easing.OutQuint);
.FadeTo(HoverLayerFinalAlpha, 800, Easing.OutQuint);
}
return base.OnHover(e);

View File

@ -1,42 +0,0 @@
// Copyright (c) ppy Pty Ltd <contact@ppy.sh>. Licensed under the MIT Licence.
// See the LICENCE file in the repository root for full licence text.
#nullable disable
using System.Collections.Generic;
using osu.Framework.Allocation;
using osu.Framework.Graphics;
using osu.Framework.Graphics.Containers;
using osu.Framework.Localisation;
using osu.Game.Graphics.Backgrounds;
namespace osu.Game.Graphics.UserInterface
{
/// <summary>
/// A button with moving triangles in the background.
/// </summary>
public partial class TriangleButton : OsuButton, IFilterable
{
protected Triangles Triangles { get; private set; }
[BackgroundDependencyLoader]
private void load(OsuColour colours)
{
Add(Triangles = new Triangles
{
RelativeSizeAxes = Axes.Both,
ColourDark = colours.BlueDarker,
ColourLight = colours.Blue,
});
}
public virtual IEnumerable<LocalisableString> FilterTerms => new[] { Text };
public bool MatchingFilter
{
set => this.FadeTo(value ? 1 : 0);
}
public bool FilteringActive { get; set; }
}
}