// Copyright (c) 2007-2017 ppy Pty Ltd . // Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE using osu.Framework.Configuration; using osu.Framework.Platform; using osu.Game.Overlays; using osu.Game.Screens.Select; namespace osu.Game.Configuration { public class OsuConfigManager : ConfigManager { protected override void InitialiseDefaults() { // UI/selection defaults Set(OsuSetting.Ruleset, 0, 0, int.MaxValue); Set(OsuSetting.BeatmapDetailTab, BeatmapDetailTab.Details); Set(OsuSetting.DisplayStarsMinimum, 0.0, 0, 10); Set(OsuSetting.DisplayStarsMaximum, 10.0, 0, 10); Set(OsuSetting.SelectionRandomType, SelectionRandomType.RandomPermutation); Set(OsuSetting.ChatDisplayHeight, ChatOverlay.DEFAULT_HEIGHT, 0.2, 1); // Online settings Set(OsuSetting.Username, string.Empty); Set(OsuSetting.Token, string.Empty); Set(OsuSetting.SavePassword, false).ValueChanged += val => { if (val) Set(OsuSetting.SaveUsername, true); }; Set(OsuSetting.SaveUsername, true).ValueChanged += val => { if (!val) Set(OsuSetting.SavePassword, false); }; // Audio Set(OsuSetting.MenuVoice, true); Set(OsuSetting.MenuMusic, true); Set(OsuSetting.AudioOffset, 0, -500.0, 500.0); // Input Set(OsuSetting.MenuCursorSize, 1.0, 0.5f, 2); Set(OsuSetting.GameplayCursorSize, 1.0, 0.5f, 2); Set(OsuSetting.AutoCursorSize, false); Set(OsuSetting.MouseDisableButtons, false); Set(OsuSetting.MouseDisableWheel, false); // Graphics Set(OsuSetting.ShowFpsDisplay, false); Set(OsuSetting.MenuParallax, true); Set(OsuSetting.SnakingInSliders, true); Set(OsuSetting.SnakingOutSliders, true); // Gameplay Set(OsuSetting.DimLevel, 0.3, 0, 1); Set(OsuSetting.ShowInterface, true); Set(OsuSetting.KeyOverlay, false); Set(OsuSetting.FloatingComments, false); Set(OsuSetting.PlaybackSpeed, 1.0, 0.5f, 2); // Update Set(OsuSetting.ReleaseStream, ReleaseStream.Lazer); Set(OsuSetting.Version, string.Empty); } public OsuConfigManager(Storage storage) : base(storage) { } } public enum OsuSetting { Ruleset, Token, MenuCursorSize, GameplayCursorSize, AutoCursorSize, DimLevel, KeyOverlay, FloatingComments, PlaybackSpeed, ShowInterface, MouseDisableButtons, MouseDisableWheel, AudioOffset, MenuMusic, MenuVoice, MenuParallax, BeatmapDetailTab, Username, ReleaseStream, SavePassword, SaveUsername, DisplayStarsMinimum, DisplayStarsMaximum, SelectionRandomType, SnakingInSliders, SnakingOutSliders, ShowFpsDisplay, ChatDisplayHeight, Version } }