mirror of
https://github.com/ppy/osu.git
synced 2025-01-26 16:12:54 +08:00
Add setting for changing mod select hotkey style
This commit is contained in:
parent
73124d2b1f
commit
5abd8a07d2
@ -20,6 +20,7 @@ using osu.Game.Input;
|
|||||||
using osu.Game.Input.Bindings;
|
using osu.Game.Input.Bindings;
|
||||||
using osu.Game.Localisation;
|
using osu.Game.Localisation;
|
||||||
using osu.Game.Overlays;
|
using osu.Game.Overlays;
|
||||||
|
using osu.Game.Overlays.Mods.Input;
|
||||||
using osu.Game.Rulesets.Scoring;
|
using osu.Game.Rulesets.Scoring;
|
||||||
using osu.Game.Screens.Select;
|
using osu.Game.Screens.Select;
|
||||||
using osu.Game.Screens.Select.Filter;
|
using osu.Game.Screens.Select.Filter;
|
||||||
@ -47,6 +48,7 @@ namespace osu.Game.Configuration
|
|||||||
SetDefault(OsuSetting.SongSelectSortingMode, SortMode.Title);
|
SetDefault(OsuSetting.SongSelectSortingMode, SortMode.Title);
|
||||||
|
|
||||||
SetDefault(OsuSetting.RandomSelectAlgorithm, RandomSelectAlgorithm.RandomPermutation);
|
SetDefault(OsuSetting.RandomSelectAlgorithm, RandomSelectAlgorithm.RandomPermutation);
|
||||||
|
SetDefault(OsuSetting.ModSelectHotkeyStyle, ModSelectHotkeyStyle.Sequential);
|
||||||
|
|
||||||
SetDefault(OsuSetting.ChatDisplayHeight, ChatOverlay.DEFAULT_HEIGHT, 0.2f, 1f);
|
SetDefault(OsuSetting.ChatDisplayHeight, ChatOverlay.DEFAULT_HEIGHT, 0.2f, 1f);
|
||||||
|
|
||||||
@ -324,6 +326,7 @@ namespace osu.Game.Configuration
|
|||||||
SongSelectGroupingMode,
|
SongSelectGroupingMode,
|
||||||
SongSelectSortingMode,
|
SongSelectSortingMode,
|
||||||
RandomSelectAlgorithm,
|
RandomSelectAlgorithm,
|
||||||
|
ModSelectHotkeyStyle,
|
||||||
ShowFpsDisplay,
|
ShowFpsDisplay,
|
||||||
ChatDisplayHeight,
|
ChatDisplayHeight,
|
||||||
BeatmapListingCardSize,
|
BeatmapListingCardSize,
|
||||||
|
@ -106,6 +106,11 @@ namespace osu.Game.Localisation
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public static LocalisableString RandomSelectionAlgorithm => new TranslatableString(getKey(@"random_selection_algorithm"), @"Random selection algorithm");
|
public static LocalisableString RandomSelectionAlgorithm => new TranslatableString(getKey(@"random_selection_algorithm"), @"Random selection algorithm");
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// "Mod select hotkey style"
|
||||||
|
/// </summary>
|
||||||
|
public static LocalisableString ModSelectHotkeyStyle => new TranslatableString(getKey(@"mod_select_hotkey_style"), @"Mod select hotkey style");
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// "no limit"
|
/// "no limit"
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
27
osu.Game/Overlays/Mods/Input/ModSelectHotkeyStyle.cs
Normal file
27
osu.Game/Overlays/Mods/Input/ModSelectHotkeyStyle.cs
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
// 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.Rulesets.Mods;
|
||||||
|
|
||||||
|
namespace osu.Game.Overlays.Mods.Input
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// The style of hotkey handling to use on the mod select screen.
|
||||||
|
/// </summary>
|
||||||
|
public enum ModSelectHotkeyStyle
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Each letter row on the keyboard controls one of the three first <see cref="ModColumn"/>s.
|
||||||
|
/// Individual letters in a row trigger the mods in a sequential fashion.
|
||||||
|
/// Uses <see cref="SequentialModHotkeyHandler"/>.
|
||||||
|
/// </summary>
|
||||||
|
Sequential,
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Matches keybindings from stable 1:1.
|
||||||
|
/// One keybinding can toggle between what used to be <see cref="MultiMod"/>s on stable,
|
||||||
|
/// and some mods in a column may not have any hotkeys at all.
|
||||||
|
/// </summary>
|
||||||
|
Classic
|
||||||
|
}
|
||||||
|
}
|
@ -11,6 +11,7 @@ using osu.Framework.Localisation;
|
|||||||
using osu.Game.Configuration;
|
using osu.Game.Configuration;
|
||||||
using osu.Game.Graphics.UserInterface;
|
using osu.Game.Graphics.UserInterface;
|
||||||
using osu.Game.Localisation;
|
using osu.Game.Localisation;
|
||||||
|
using osu.Game.Overlays.Mods.Input;
|
||||||
|
|
||||||
namespace osu.Game.Overlays.Settings.Sections.UserInterface
|
namespace osu.Game.Overlays.Settings.Sections.UserInterface
|
||||||
{
|
{
|
||||||
@ -61,6 +62,12 @@ namespace osu.Game.Overlays.Settings.Sections.UserInterface
|
|||||||
{
|
{
|
||||||
LabelText = UserInterfaceStrings.RandomSelectionAlgorithm,
|
LabelText = UserInterfaceStrings.RandomSelectionAlgorithm,
|
||||||
Current = config.GetBindable<RandomSelectAlgorithm>(OsuSetting.RandomSelectAlgorithm),
|
Current = config.GetBindable<RandomSelectAlgorithm>(OsuSetting.RandomSelectAlgorithm),
|
||||||
|
},
|
||||||
|
new SettingsEnumDropdown<ModSelectHotkeyStyle>
|
||||||
|
{
|
||||||
|
LabelText = UserInterfaceStrings.ModSelectHotkeyStyle,
|
||||||
|
Current = config.GetBindable<ModSelectHotkeyStyle>(OsuSetting.ModSelectHotkeyStyle),
|
||||||
|
ClassicDefault = ModSelectHotkeyStyle.Classic
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user