Path: blob/master/osu.Game.Rulesets.Mania/ManiaSettingsSubsection.cs
4548 views
// Copyright (c) ppy Pty Ltd <[email protected]>. Licensed under the MIT Licence. // See the LICENCE file in the repository root for full licence text. using System; using System.Linq; using osu.Framework; using osu.Framework.Allocation; using osu.Framework.Graphics; using osu.Framework.Localisation; using osu.Game.Graphics.UserInterfaceV2; using osu.Game.Localisation; using osu.Game.Overlays.Settings; using osu.Game.Rulesets.Mania.Configuration; using osu.Game.Rulesets.Mania.UI; namespace osu.Game.Rulesets.Mania { public partial class ManiaSettingsSubsection : RulesetSettingsSubsection { protected override LocalisableString Header => "osu!mania"; public ManiaSettingsSubsection(ManiaRuleset ruleset) : base(ruleset) { } [BackgroundDependencyLoader] private void load() { var config = (ManiaRulesetConfigManager)Config; Children = new Drawable[] { new SettingsItemV2(new FormEnumDropdown<ManiaScrollingDirection> { Caption = RulesetSettingsStrings.ScrollingDirection, Current = config.GetBindable<ManiaScrollingDirection>(ManiaRulesetSetting.ScrollDirection) }), new SettingsItemV2(new FormSliderBar<double> { Caption = RulesetSettingsStrings.ScrollSpeed, Current = config.GetBindable<double>(ManiaRulesetSetting.ScrollSpeed), KeyboardStep = 1, LabelFormat = v => RulesetSettingsStrings.ScrollSpeedTooltip((int)DrawableManiaRuleset.ComputeScrollTime(v), v), }), new SettingsItemV2(new FormCheckBox { Caption = RulesetSettingsStrings.TimingBasedColouring, Current = config.GetBindable<bool>(ManiaRulesetSetting.TimingBasedNoteColouring), }) { Keywords = new[] { "color" }, }, }; Add(new SettingsItemV2(new FormCheckBox { Caption = RulesetSettingsStrings.TouchOverlay, Current = config.GetBindable<bool>(ManiaRulesetSetting.TouchOverlay) })); if (RuntimeInfo.IsMobile) { Add(new SettingsItemV2(new FormEnumDropdown<ManiaMobileLayout> { Caption = RulesetSettingsStrings.MobileLayout, Current = config.GetBindable<ManiaMobileLayout>(ManiaRulesetSetting.MobileLayout), #pragma warning disable CS0618 // Type or member is obsolete Items = Enum.GetValues<ManiaMobileLayout>().Where(l => l != ManiaMobileLayout.LandscapeWithOverlay), #pragma warning restore CS0618 // Type or member is obsolete })); } } } }