From 61670a70b6df88bcc8cf9f1d85d8025dc9506d97 Mon Sep 17 00:00:00 2001 From: Dean Herbert Date: Tue, 19 Oct 2021 17:00:51 +0900 Subject: [PATCH] Tidy up tracked settings code syntax and fix remaining issue --- .../ManiaRulesetConfigManager.cs | 7 ++- osu.Game/Configuration/OsuConfigManager.cs | 45 ++++++++++++++++--- 2 files changed, 44 insertions(+), 8 deletions(-) diff --git a/osu.Game.Rulesets.Mania/Configuration/ManiaRulesetConfigManager.cs b/osu.Game.Rulesets.Mania/Configuration/ManiaRulesetConfigManager.cs index ac8168dfc9..44a501f748 100644 --- a/osu.Game.Rulesets.Mania/Configuration/ManiaRulesetConfigManager.cs +++ b/osu.Game.Rulesets.Mania/Configuration/ManiaRulesetConfigManager.cs @@ -28,7 +28,12 @@ namespace osu.Game.Rulesets.Mania.Configuration public override TrackedSettings CreateTrackedSettings() => new TrackedSettings { new TrackedSetting(ManiaRulesetSetting.ScrollTime, - v => new SettingDescription(v, "Scroll Speed", $"{(int)Math.Round(DrawableManiaRuleset.MAX_TIME_RANGE / v)} ({v}ms)")) + v => new SettingDescription( + rawValue: v, + name: "Scroll Speed", + value: $"{(int)Math.Round(DrawableManiaRuleset.MAX_TIME_RANGE / v)} ({v}ms)" + ) + ) }; } diff --git a/osu.Game/Configuration/OsuConfigManager.cs b/osu.Game/Configuration/OsuConfigManager.cs index cba24eb8e6..0790c62499 100644 --- a/osu.Game/Configuration/OsuConfigManager.cs +++ b/osu.Game/Configuration/OsuConfigManager.cs @@ -188,15 +188,46 @@ namespace osu.Game.Configuration return new TrackedSettings { - new TrackedSetting(OsuSetting.MouseDisableButtons, v => new SettingDescription(!v, GlobalActionKeyBindingStrings.ToggleGameplayMouseButtons, v ? CommonStrings.Disabled.ToLower() : CommonStrings.Enabled.ToLower(), LookupKeyBindings(GlobalAction.ToggleGameplayMouseButtons))), - new TrackedSetting(OsuSetting.HUDVisibilityMode, m => new SettingDescription(m, GameplaySettingsStrings.HUDVisibilityMode, m.GetLocalisableDescription(), $"{GlobalActionKeyBindingStrings.ToggleInGameInterface}: {LookupKeyBindings(GlobalAction.ToggleInGameInterface)} {GlobalActionKeyBindingStrings.HoldForHUD}: {LookupKeyBindings(GlobalAction.HoldForHUD)}")), - new TrackedSetting(OsuSetting.Scaling, m => new SettingDescription(m, GraphicsSettingsStrings.ScreenScaling, m.GetLocalisableDescription())), - new TrackedSetting(OsuSetting.Skin, m => + new TrackedSetting(OsuSetting.MouseDisableButtons, disabledState => new SettingDescription( + rawValue: !disabledState, + name: GlobalActionKeyBindingStrings.ToggleGameplayMouseButtons, + value: disabledState ? CommonStrings.Disabled.ToLower() : CommonStrings.Enabled.ToLower(), + shortcut: LookupKeyBindings(GlobalAction.ToggleGameplayMouseButtons)) + ), + new TrackedSetting(OsuSetting.HUDVisibilityMode, mode => new SettingDescription( + rawValue: mode, + name: GameplaySettingsStrings.HUDVisibilityMode, + value: mode.GetLocalisableDescription(), + shortcut: new TranslatableString(@"_", @"{0}: {1} {2}: {3}", + GlobalActionKeyBindingStrings.ToggleInGameInterface, + LookupKeyBindings(GlobalAction.ToggleInGameInterface), + GlobalActionKeyBindingStrings.HoldForHUD, + LookupKeyBindings(GlobalAction.HoldForHUD))) + ), + new TrackedSetting(OsuSetting.Scaling, scalingMode => new SettingDescription( + rawValue: scalingMode, + name: GraphicsSettingsStrings.ScreenScaling, + value: scalingMode.GetLocalisableDescription() + ) + ), + new TrackedSetting(OsuSetting.Skin, skin => { - string skinName = LookupSkinName(m) ?? string.Empty; - return new SettingDescription(skinName, SkinSettingsStrings.SkinSectionHeader, skinName, $"{GlobalActionKeyBindingStrings.RandomSkin}: {LookupKeyBindings(GlobalAction.RandomSkin)}"); + string skinName = LookupSkinName(skin) ?? string.Empty; + + return new SettingDescription( + rawValue: skinName, + name: SkinSettingsStrings.SkinSectionHeader, + value: skinName, + shortcut: $"{GlobalActionKeyBindingStrings.RandomSkin}: {LookupKeyBindings(GlobalAction.RandomSkin)}" + ); }), - new TrackedSetting(OsuSetting.UIScale, m => new SettingDescription(m, GraphicsSettingsStrings.UIScaling, $"{m:N2}x")), // TODO: implement lookup for framework platform key bindings + new TrackedSetting(OsuSetting.UIScale, scale => new SettingDescription( + rawValue: scale, + name: GraphicsSettingsStrings.UIScaling, + value: $"{scale:N2}x" + // TODO: implement lookup for framework platform key bindings + ) + ), }; }