mirror of https://github.com/ppy/osu
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.Bindings;
|
||||
using osu.Game.Localisation;
|
||||
using osu.Game.Overlays;
|
||||
using osu.Game.Overlays.Mods.Input;
|
||||
using osu.Game.Rulesets.Scoring;
|
||||
using osu.Game.Screens.Select;
|
||||
using osu.Game.Screens.Select.Filter;
|
||||
|
@ -47,6 +48,7 @@ protected override void InitialiseDefaults()
|
|||
SetDefault(OsuSetting.SongSelectSortingMode, SortMode.Title);
|
||||
|
||||
SetDefault(OsuSetting.RandomSelectAlgorithm, RandomSelectAlgorithm.RandomPermutation);
|
||||
SetDefault(OsuSetting.ModSelectHotkeyStyle, ModSelectHotkeyStyle.Sequential);
|
||||
|
||||
SetDefault(OsuSetting.ChatDisplayHeight, ChatOverlay.DEFAULT_HEIGHT, 0.2f, 1f);
|
||||
|
||||
|
@ -324,6 +326,7 @@ public enum OsuSetting
|
|||
SongSelectGroupingMode,
|
||||
SongSelectSortingMode,
|
||||
RandomSelectAlgorithm,
|
||||
ModSelectHotkeyStyle,
|
||||
ShowFpsDisplay,
|
||||
ChatDisplayHeight,
|
||||
BeatmapListingCardSize,
|
||||
|
|
|
@ -106,6 +106,11 @@ public static class UserInterfaceStrings
|
|||
/// </summary>
|
||||
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>
|
||||
/// "no limit"
|
||||
/// </summary>
|
||||
|
|
|
@ -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.Game.Configuration;
|
||||
using osu.Game.Graphics.UserInterface;
|
||||
using osu.Game.Localisation;
|
||||
using osu.Game.Overlays.Mods.Input;
|
||||
|
||||
namespace osu.Game.Overlays.Settings.Sections.UserInterface
|
||||
{
|
||||
|
@ -61,6 +62,12 @@ private void load(OsuConfigManager config)
|
|||
{
|
||||
LabelText = UserInterfaceStrings.RandomSelectionAlgorithm,
|
||||
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