private void Init() { settingsData = new SettingsData(); settingsData.AddTabData(CreateTabData("A", "icon-settings")); settingsData.AddTabData(CreateTabData("B", "icon-play")); settingsData.AddTabData(CreateTabData("C", "icon-music")); var bg = RootMain.CreateChild<UguiSprite>("bg", -1); { bg.Anchor = AnchorType.Fill; bg.Offset = Offset.Zero; bg.Alpha = 0.25f; } }
private void Init() { settingsData = new SettingsData(); settingsData.AddTabData(CreateTabData("A", "icon-settings")); settingsData.AddTabData(CreateTabData("B", "icon-play")); settingsData.AddTabData(CreateTabData("C", "icon-music")); var bg = RootMain.CreateChild <UguiSprite>("bg", -1); { bg.Size = new Vector2(600f, 600f); bg.Alpha = 0.25f; } contentHolder = RootMain.CreateChild <ContentHolder>(); { contentHolder.Size = new Vector2(500f, 500f); contentHolder.SetSettingsData(settingsData); } }
public GameConfiguration() { Settings = new SettingsData(); RulesetMode = InitEnumBindable(nameof(RulesetMode), GameModeType.BeatsStandard); MapsetSort = InitEnumBindable(nameof(MapsetSort), MapsetSortType.Title); RankDisplay = InitEnumBindable(nameof(RankDisplay), RankDisplayType.Local); Username = InitStringBindable(nameof(Username), ""); Password = InitStringBindable(nameof(Password), ""); SaveCredentials = InitBoolBindable(nameof(SaveCredentials), false); LastLoginApi = InitEnumBindable(nameof(LastLoginApi), ApiProviderType.Osu); // General settings SettingsTab generalTab = Settings.AddTabData(new SettingsTab("General", "icon-settings")); { generalTab.AddEntry(new SettingsEntryBool("Prefer unicode", PreferUnicode = InitBoolBindable(nameof(PreferUnicode), false))); generalTab.AddEntry(new SettingsEntryBool("Show messages", DisplayMessages = InitBoolBindable(nameof(DisplayMessages), true))); DisplayMessages.OnNewValue += (display) => { // Automatically disable messages in game if message displaying is false. if (!display) { DisplayMessagesInGame.Value = false; } }; generalTab.AddEntry(new SettingsEntryBool("Show messages in game", DisplayMessagesInGame = InitBoolBindable(nameof(DisplayMessagesInGame), false))); DisplayMessagesInGame.OnNewValue += (display) => { // Turn off this configuration when toggled on but display message itself is turned off. if (display && !DisplayMessages.Value) { DisplayMessagesInGame.Value = false; } }; generalTab.AddEntry(new SettingsEntryBool("Use parallax", UseParallax = InitBoolBindable(nameof(UseParallax), true))); } // Performance settings SettingsTab performanceTab = Settings.AddTabData(new SettingsTab("Performance", "icon-performance")); { performanceTab.AddEntry(new SettingsEntryBool("Show FPS", ShowFps = InitBoolBindable(nameof(ShowFps), false))); performanceTab.AddEntry(new SettingsEntryBool("Use Blur", UseBlurShader = InitBoolBindable(nameof(UseBlurShader), false))); performanceTab.AddEntry(new SettingsEntryEnum <ResolutionType>("Resolution Quality", ResolutionQuality = InitEnumBindable(nameof(ResolutionQuality), ResolutionType.Best))); performanceTab.AddEntry(new SettingsEntryEnum <FramerateType>("Framerate", Framerate = InitEnumBindable(nameof(Framerate), FramerateType._60fps))); } // Gameplay settings SettingsTab gameplayTab = Settings.AddTabData(new SettingsTab("Gameplay", "icon-game")); { gameplayTab.AddEntry(new SettingsEntryBool("Use Storyboard", ShowStoryboard = InitBoolBindable(nameof(ShowStoryboard), false))); gameplayTab.AddEntry(new SettingsEntryBool("Use Video", ShowVideo = InitBoolBindable(nameof(ShowVideo), false))); gameplayTab.AddEntry(new SettingsEntryBool("Use Map Skins", UseBeatmapSkins = InitBoolBindable(nameof(UseBeatmapSkins), false))); gameplayTab.AddEntry(new SettingsEntryFloat("Background Dim", BackgroundDim = InitFloatBindable(nameof(BackgroundDim), 0.5f, 0f, 1f)) { Formatter = "P0" }); } // Sound settings SettingsTab soundTab = Settings.AddTabData(new SettingsTab("Sound", "icon-sound")); { soundTab.AddEntry(new SettingsEntryFloat("Master Volume", MasterVolume = InitFloatBindable(nameof(MasterVolume), 1f, 0f, 1f)) { Formatter = "P0" }); soundTab.AddEntry(new SettingsEntryFloat("Music Volume", MusicVolume = InitFloatBindable(nameof(MusicVolume), 1f, 0f, 1f)) { Formatter = "P0" }); soundTab.AddEntry(new SettingsEntryFloat("Hitsound Volume", HitsoundVolume = InitFloatBindable(nameof(HitsoundVolume), 1f, 0f, 1f)) { Formatter = "P0" }); soundTab.AddEntry(new SettingsEntryFloat("Effect Volume", EffectVolume = InitFloatBindable(nameof(EffectVolume), 1f, 0f, 1f)) { Formatter = "P0" }); soundTab.AddEntry(new SettingsEntryInt("Global Offset", GlobalOffset = InitIntBindable(nameof(GlobalOffset), 0, -100, 100))); soundTab.AddEntry(new SettingsEntryBool("Use Map Hitsounds", UseBeatmapHitsounds = InitBoolBindable(nameof(UseBeatmapHitsounds), true))); soundTab.AddEntry(new SettingsEntryBool("Button hover sound", UseButtonHoverSound = InitBoolBindable(nameof(UseButtonHoverSound), true))); } // Other settings SettingsTab otherTab = Settings.AddTabData(new SettingsTab("Other", "icon-misc")); { otherTab.AddEntry(new SettingsEntryEnum <NotificationType>("Persistent notification level", PersistNotificationLevel = InitEnumBindable(nameof(NotificationType), NotificationType.Warning))); otherTab.AddEntry(new SettingsEntryEnum <LogType>("Log to notification level", LogToNotificationLevel = InitEnumBindable(nameof(LogType), LogType.Warning))); } // Version settings SettingsTab versionTab = Settings.AddTabData(new SettingsTab("Version", "icon-version")); { versionTab.AddEntry(new SettingsEntryAction($"Game version ({App.GameVersion})", () => { UnityEngine.Application.OpenURL(App.GameRepository); })); versionTab.AddEntry(new SettingsEntryAction($"Framework version ({App.FrameworkVersion})", () => { UnityEngine.Application.OpenURL(App.FrameworkRepository); })); } // Trigger change for all configurations on load. OnLoad += delegate { foreach (var entry in allSettings) { entry.Trigger(); } }; }