1
0
mirror of https://github.com/ppy/osu.git synced 2024-09-21 18:47:27 +08:00

Combine TriangleButton and RoundedButton classes

This commit is contained in:
Dean Herbert 2022-11-24 16:26:57 +09:00
parent bea2acc60e
commit 53b03df93d
27 changed files with 60 additions and 70 deletions

View File

@ -10,6 +10,7 @@ using osu.Framework.Graphics;
using osu.Framework.Graphics.Containers;
using osu.Game.Graphics.Sprites;
using osu.Game.Graphics.UserInterface;
using osu.Game.Graphics.UserInterfaceV2;
using osu.Game.Online.Rooms;
using osu.Game.Screens.OnlinePlay;
using osu.Game.Screens.OnlinePlay.Playlists;
@ -148,7 +149,7 @@ namespace osu.Game.Tests.Visual.Playlists
private class TestRoomSettings : PlaylistsRoomSettingsOverlay
{
public TriangleButton ApplyButton => ((MatchSettings)Settings).ApplyButton;
public RoundedButton ApplyButton => ((MatchSettings)Settings).ApplyButton;
public OsuTextBox NameField => ((MatchSettings)Settings).NameField;
public OsuDropdown<TimeSpan> DurationField => ((MatchSettings)Settings).DurationField;

View File

@ -10,6 +10,7 @@ using osu.Framework.Graphics.Shapes;
using osu.Framework.Utils;
using osu.Game.Graphics.Sprites;
using osu.Game.Graphics.UserInterface;
using osu.Game.Graphics.UserInterfaceV2;
using osuTK;
using osuTK.Graphics;
@ -49,8 +50,8 @@ namespace osu.Game.Tests.Visual.UserInterface
Children = new Drawable[]
{
new OsuSpriteText { Text = "Sample content" },
new TriangleButton { Text = "can't puush me", Width = 200, },
new TriangleButton { Text = "puush me", Width = 200, Action = () => { } },
new RoundedButton { Text = "can't puush me", Width = 200, },
new RoundedButton { Text = "puush me", Width = 200, Action = () => { } },
}
},
overlay = new TestLoadingLayer(true),

View File

@ -33,7 +33,7 @@ namespace osu.Game.Tests.Visual.UserInterface
Text = @"No OverlayColourProvider",
Font = OsuFont.Default.With(size: 40)
},
new TriangleButtonWithPopover()
new RoundedButtonWithPopover()
}
};
@ -50,15 +50,15 @@ namespace osu.Game.Tests.Visual.UserInterface
Text = @"With OverlayColourProvider (orange)",
Font = OsuFont.Default.With(size: 40)
},
new TriangleButtonWithPopover()
new RoundedButtonWithPopover()
}
}
};
}
private class TriangleButtonWithPopover : TriangleButton, IHasPopover
private class RoundedButtonWithPopover : RoundedButton, IHasPopover
{
public TriangleButtonWithPopover()
public RoundedButtonWithPopover()
{
Width = 100;
Height = 30;

View File

@ -11,6 +11,7 @@ using osu.Framework.Screens;
using osu.Game.Graphics;
using osu.Game.Graphics.Sprites;
using osu.Game.Graphics.UserInterface;
using osu.Game.Graphics.UserInterfaceV2;
using osu.Game.Screens;
using osuTK;
@ -109,7 +110,7 @@ namespace osu.Game.Tests.Visual.UserInterface
Origin = Anchor.TopCentre,
Text = Title,
},
new TriangleButton
new RoundedButton
{
Anchor = Anchor.TopCentre,
Origin = Anchor.TopCentre,

View File

@ -61,7 +61,7 @@ namespace osu.Game.Tournament.Screens.Setup
Spacing = new Vector2(10, 0),
Children = new Drawable[]
{
Button = new TriangleButton
Button = new RoundedButton
{
Size = new Vector2(100, 40),
Action = () => Action?.Invoke()

View File

@ -93,7 +93,7 @@ namespace osu.Game.Tournament.Screens.Setup
Spacing = new Vector2(20),
Children = new Drawable[]
{
new TriangleButton
new RoundedButton
{
Anchor = Anchor.Centre,
Origin = Anchor.Centre,
@ -101,7 +101,7 @@ namespace osu.Game.Tournament.Screens.Setup
Text = "Select stable path",
Action = ChangePath
},
new TriangleButton
new RoundedButton
{
Anchor = Anchor.Centre,
Origin = Anchor.Centre,

View File

@ -6,6 +6,7 @@
using osu.Framework.Allocation;
using osu.Framework.Graphics;
using osu.Game.Graphics.UserInterface;
using osu.Game.Graphics.UserInterfaceV2;
using osu.Game.Tournament.IO;
namespace osu.Game.Tournament.Screens.Setup
@ -37,7 +38,7 @@ namespace osu.Game.Tournament.Screens.Setup
{
var drawable = base.CreateComponent();
FlowContainer.Insert(-1, folderButton = new TriangleButton
FlowContainer.Insert(-1, folderButton = new RoundedButton
{
Text = "Open folder",
Width = 100

View File

@ -4,10 +4,11 @@
#nullable disable
using osu.Framework.Allocation;
using osu.Game.Graphics.UserInterfaceV2;
namespace osu.Game.Graphics.UserInterface
{
public class DangerousTriangleButton : TriangleButton
public class DangerousRoundedButton : RoundedButton
{
[BackgroundDependencyLoader]
private void load(OsuColour colours)

View File

@ -1,14 +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.
using osu.Game.Graphics.UserInterfaceV2;
namespace osu.Game.Graphics.UserInterface
{
/// <summary>
/// A button with moving triangles in the background.
/// </summary>
public class TriangleButton : RoundedButton
{
}
}

View File

@ -4,11 +4,11 @@
using osu.Framework.Allocation;
using osu.Framework.Extensions.Color4Extensions;
using osu.Framework.Graphics;
using osu.Game.Graphics.UserInterface;
using osu.Game.Graphics.UserInterfaceV2;
namespace osu.Game.Overlays.BeatmapSet.Buttons
{
public class HeaderButton : TriangleButton
public class HeaderButton : RoundedButton
{
public HeaderButton()
{

View File

@ -203,7 +203,7 @@ namespace osu.Game.Overlays.Dashboard
Anchor = Anchor.TopCentre,
Origin = Anchor.TopCentre,
},
new PurpleTriangleButton
new PurpleRoundedButton
{
RelativeSizeAxes = Axes.X,
Text = "Spectate",

View File

@ -22,6 +22,7 @@ using osu.Game.Database;
using osu.Game.Graphics;
using osu.Game.Graphics.Sprites;
using osu.Game.Graphics.UserInterface;
using osu.Game.Graphics.UserInterfaceV2;
using osu.Game.Input;
using osu.Game.Input.Bindings;
using osu.Game.Resources.Localisation.Web;
@ -446,7 +447,7 @@ namespace osu.Game.Overlays.Settings.Sections.Input
isDefault.Value = bindings.Select(b => b.KeyCombination).SequenceEqual(Defaults);
}
private class CancelButton : TriangleButton
private class CancelButton : RoundedButton
{
public CancelButton()
{
@ -455,7 +456,7 @@ namespace osu.Game.Overlays.Settings.Sections.Input
}
}
public class ClearButton : DangerousTriangleButton
public class ClearButton : DangerousRoundedButton
{
public ClearButton()
{

View File

@ -13,7 +13,6 @@ using osuTK;
using osu.Framework.Graphics.Containers;
using osu.Framework.Graphics.Shapes;
using osu.Framework.Localisation;
using osu.Game.Graphics.UserInterface;
using osu.Framework.Screens;
using osu.Game.Graphics.Containers;
using osu.Game.Localisation;
@ -22,7 +21,7 @@ namespace osu.Game.Overlays.Settings.Sections.Maintenance
{
public abstract class DirectorySelectScreen : OsuScreen
{
private TriangleButton selectionButton;
private RoundedButton selectionButton;
private OsuDirectorySelector directorySelector;
@ -101,7 +100,7 @@ namespace osu.Game.Overlays.Settings.Sections.Maintenance
},
new Drawable[]
{
selectionButton = new TriangleButton
selectionButton = new RoundedButton
{
Anchor = Anchor.Centre,
Origin = Anchor.Centre,

View File

@ -14,7 +14,6 @@ using osu.Framework.Graphics.Shapes;
using osu.Framework.Screens;
using osu.Game.Graphics;
using osu.Game.Graphics.Containers;
using osu.Game.Graphics.UserInterface;
using osu.Game.Graphics.UserInterfaceV2;
using osuTK;
@ -28,7 +27,7 @@ namespace osu.Game.Screens.Import
private Container contentContainer;
private TextFlowContainer currentFileText;
private TriangleButton importButton;
private RoundedButton importButton;
private const float duration = 300;
private const float button_height = 50;
@ -100,7 +99,7 @@ namespace osu.Game.Screens.Import
}
},
},
importButton = new TriangleButton
importButton = new RoundedButton
{
Text = "Import",
Anchor = Anchor.BottomCentre,

View File

@ -9,7 +9,7 @@ using osu.Framework.Allocation;
using osu.Framework.Bindables;
using osu.Framework.Graphics;
using osu.Framework.Graphics.Containers;
using osu.Game.Graphics.UserInterface;
using osu.Game.Graphics.UserInterfaceV2;
using osu.Game.Online.Rooms;
using osu.Game.Screens.OnlinePlay.Playlists;
using osu.Game.Screens.Select;
@ -54,7 +54,7 @@ namespace osu.Game.Screens.OnlinePlay.Components
},
new Drawable[]
{
new TriangleButton
new RoundedButton
{
Text = "Add new playlist entry",
RelativeSizeAxes = Axes.Both,

View File

@ -7,13 +7,13 @@ using osu.Framework.Allocation;
using osu.Framework.Bindables;
using osu.Framework.Graphics.Cursor;
using osu.Framework.Localisation;
using osu.Game.Graphics.UserInterface;
using osu.Game.Graphics.UserInterfaceV2;
using osu.Game.Online;
using osu.Game.Online.Rooms;
namespace osu.Game.Screens.OnlinePlay.Components
{
public abstract class ReadyButton : TriangleButton, IHasTooltip
public abstract class ReadyButton : RoundedButton, IHasTooltip
{
public new readonly BindableBool Enabled = new BindableBool();

View File

@ -197,7 +197,7 @@ namespace osu.Game.Screens.OnlinePlay.Lounge
}
private OsuPasswordTextBox passwordTextBox;
private TriangleButton joinButton;
private RoundedButton joinButton;
private OsuSpriteText errorText;
private Sample sampleJoinFail;
@ -226,7 +226,7 @@ namespace osu.Game.Screens.OnlinePlay.Lounge
Width = 200,
PlaceholderText = "password",
},
joinButton = new TriangleButton
joinButton = new RoundedButton
{
Width = 80,
Text = "Join Room",

View File

@ -10,7 +10,7 @@ using osu.Framework.Input.Events;
namespace osu.Game.Screens.OnlinePlay.Match.Components
{
public abstract class CreateRoomButton : PurpleTriangleButton, IKeyBindingHandler<PlatformAction>
public abstract class CreateRoomButton : PurpleRoundedButton, IKeyBindingHandler<PlatformAction>
{
[BackgroundDependencyLoader]
private void load()

View File

@ -1,15 +1,13 @@
// 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 osu.Framework.Allocation;
using osu.Framework.Extensions.Color4Extensions;
using osu.Game.Graphics.UserInterface;
using osu.Game.Graphics.UserInterfaceV2;
namespace osu.Game.Screens.OnlinePlay.Match.Components
{
public class PurpleTriangleButton : TriangleButton
public class PurpleRoundedButton : RoundedButton
{
[BackgroundDependencyLoader]
private void load()

View File

@ -48,7 +48,7 @@ namespace osu.Game.Screens.OnlinePlay.Match
{
if (allowEdit)
{
ButtonsContainer.Add(editButton = new PurpleTriangleButton
ButtonsContainer.Add(editButton = new PurpleRoundedButton
{
RelativeSizeAxes = Axes.Y,
Size = new Vector2(100, 1),

View File

@ -517,7 +517,7 @@ namespace osu.Game.Screens.OnlinePlay.Match
/// <param name="room">The room to change the settings of.</param>
protected abstract RoomSettingsOverlay CreateRoomSettingsOverlay(Room room);
public class UserModSelectButton : PurpleTriangleButton, IKeyBindingHandler<GlobalAction>
public class UserModSelectButton : PurpleRoundedButton, IKeyBindingHandler<GlobalAction>
{
public bool OnPressed(KeyBindingPressEvent<GlobalAction> e)
{

View File

@ -16,6 +16,7 @@ using osu.Game.Graphics;
using osu.Game.Graphics.Containers;
using osu.Game.Graphics.Sprites;
using osu.Game.Graphics.UserInterface;
using osu.Game.Graphics.UserInterfaceV2;
using osu.Game.Online.Multiplayer;
using osu.Game.Online.Rooms;
using osu.Game.Overlays;
@ -64,7 +65,7 @@ namespace osu.Game.Screens.OnlinePlay.Multiplayer.Match
public OsuEnumDropdown<QueueMode> QueueModeDropdown = null!;
public OsuTextBox PasswordTextBox = null!;
public OsuCheckbox AutoSkipCheckbox = null!;
public TriangleButton ApplyButton = null!;
public RoundedButton ApplyButton = null!;
public OsuSpriteText ErrorText = null!;
@ -274,7 +275,7 @@ namespace osu.Game.Screens.OnlinePlay.Multiplayer.Match
RelativeSizeAxes = Axes.X,
Height = DrawableRoomPlaylistItem.HEIGHT
},
new PurpleTriangleButton
new PurpleRoundedButton
{
RelativeSizeAxes = Axes.X,
Height = 40,
@ -460,7 +461,7 @@ namespace osu.Game.Screens.OnlinePlay.Multiplayer.Match
});
}
public class CreateOrUpdateButton : TriangleButton
public class CreateOrUpdateButton : RoundedButton
{
[Resolved(typeof(Room), nameof(Room.RoomID))]
private Bindable<long?> roomId { get; set; } = null!;

View File

@ -7,7 +7,7 @@ using osu.Framework.Allocation;
using osu.Framework.Bindables;
using osu.Framework.Graphics;
using osu.Game.Graphics;
using osu.Game.Graphics.UserInterface;
using osu.Game.Graphics.UserInterfaceV2;
using osu.Game.Online.Multiplayer;
using osuTK;
@ -23,11 +23,11 @@ namespace osu.Game.Screens.OnlinePlay.Multiplayer.Match
private IBindable<bool> operationInProgress;
private readonly TriangleButton button;
private readonly RoundedButton button;
public MultiplayerSpectateButton()
{
InternalChild = button = new TriangleButton
InternalChild = button = new RoundedButton
{
RelativeSizeAxes = Axes.Both,
Size = Vector2.One,

View File

@ -430,7 +430,7 @@ namespace osu.Game.Screens.OnlinePlay.Multiplayer
modSettingChangeTracker?.Dispose();
}
public class AddItemButton : PurpleTriangleButton
public class AddItemButton : PurpleRoundedButton
{
}
}

View File

@ -16,6 +16,7 @@ using osu.Game.Graphics;
using osu.Game.Graphics.Containers;
using osu.Game.Graphics.Sprites;
using osu.Game.Graphics.UserInterface;
using osu.Game.Graphics.UserInterfaceV2;
using osu.Game.Online.API;
using osu.Game.Online.API.Requests.Responses;
using osu.Game.Online.Rooms;
@ -58,7 +59,7 @@ namespace osu.Game.Screens.OnlinePlay.Playlists
public OsuTextBox NameField = null!, MaxParticipantsField = null!, MaxAttemptsField = null!;
public OsuDropdown<TimeSpan> DurationField = null!;
public RoomAvailabilityPicker AvailabilityPicker = null!;
public TriangleButton ApplyButton = null!;
public RoundedButton ApplyButton = null!;
public bool IsLoading => loadingLayer.State.Value == Visibility.Visible;
@ -68,7 +69,7 @@ namespace osu.Game.Screens.OnlinePlay.Playlists
private DrawableRoomPlaylist playlist = null!;
private OsuSpriteText playlistLength = null!;
private PurpleTriangleButton editPlaylistButton = null!;
private PurpleRoundedButton editPlaylistButton = null!;
[Resolved]
private IRoomManager? manager { get; set; }
@ -222,7 +223,7 @@ namespace osu.Game.Screens.OnlinePlay.Playlists
},
new Drawable[]
{
editPlaylistButton = new PurpleTriangleButton
editPlaylistButton = new PurpleRoundedButton
{
RelativeSizeAxes = Axes.X,
Height = 40,
@ -414,7 +415,7 @@ namespace osu.Game.Screens.OnlinePlay.Playlists
}
}
public class CreateRoomButton : TriangleButton
public class CreateRoomButton : RoundedButton
{
public CreateRoomButton()
{

View File

@ -18,7 +18,7 @@ using osu.Game.Beatmaps.Drawables.Cards;
using osu.Game.Configuration;
using osu.Game.Graphics;
using osu.Game.Graphics.Sprites;
using osu.Game.Graphics.UserInterface;
using osu.Game.Graphics.UserInterfaceV2;
using osu.Game.Online.API;
using osu.Game.Online.API.Requests;
using osu.Game.Online.API.Requests.Responses;
@ -54,7 +54,7 @@ namespace osu.Game.Screens.Play
private OverlayColourProvider colourProvider = new OverlayColourProvider(OverlayColourScheme.Purple);
private Container beatmapPanelContainer;
private TriangleButton watchButton;
private RoundedButton watchButton;
private SettingsCheckbox automaticDownload;
/// <summary>
@ -147,7 +147,7 @@ namespace osu.Game.Screens.Play
Anchor = Anchor.Centre,
Origin = Anchor.Centre,
},
watchButton = new PurpleTriangleButton
watchButton = new PurpleRoundedButton
{
Text = "Start Watching",
Width = 250,

View File

@ -12,7 +12,7 @@ using osu.Framework.Testing;
using osu.Framework.Testing.Input;
using osu.Game.Graphics.Cursor;
using osu.Game.Graphics.Sprites;
using osu.Game.Graphics.UserInterface;
using osu.Game.Graphics.UserInterfaceV2;
using osu.Game.Input.Bindings;
using osuTK;
using osuTK.Graphics;
@ -27,8 +27,8 @@ namespace osu.Game.Tests.Visual
protected readonly ManualInputManager InputManager;
private readonly TriangleButton buttonTest;
private readonly TriangleButton buttonLocal;
private readonly RoundedButton buttonTest;
private readonly RoundedButton buttonLocal;
/// <summary>
/// Whether to create a nested container to handle <see cref="GlobalAction"/>s that result from local (manual) test input.
@ -110,13 +110,13 @@ namespace osu.Game.Tests.Visual
Children = new Drawable[]
{
buttonLocal = new TriangleButton
buttonLocal = new RoundedButton
{
Text = "local",
Size = new Vector2(50, 30),
Action = returnUserInput
},
buttonTest = new TriangleButton
buttonTest = new RoundedButton
{
Text = "test",
Size = new Vector2(50, 30),