private void SetupUiElements() { List <SettingsField> settingsFields = new List <SettingsField>(); { SettingsField setting = new SettingsField("Save Scores in Song Folders", UiType.Bool, core.uiManager.boolPrefab, "Settings/Files", scoreConfig.shouldSaveInSongDir); setting.boolCall = SetRelativeSaving; settingsFields.Add(setting); } { SettingsField setting = new SettingsField("Score Save Path", UiType.Text, core.uiManager.textPrefab, "Settings/Files", scoreConfig.globalScoreSavePath); setting.stringCall = SetScoreSavePath; settingsFields.Add(setting); } { SettingsField setting = new SettingsField("Show Score Overlay in Game", UiType.Bool, core.uiManager.boolPrefab, "Settings/Plugins/Score Manager", scoreConfig.showOverlay); setting.boolCall = SetShowOverlay; settingsFields.Add(setting); } { SettingsField setting = new SettingsField("Show Multiplier", UiType.Bool, core.uiManager.boolPrefab, "Settings/Plugins/Score Manager", scoreConfig.showMultiplier); setting.boolCall = SetShowMultiplier; settingsFields.Add(setting); } { SettingsField setting = new SettingsField("Show Overall Score", UiType.Bool, core.uiManager.boolPrefab, "Settings/Plugins/Score Manager", scoreConfig.showOverallScore); setting.boolCall = SetShowOverallScore; settingsFields.Add(setting); } { SettingsField setting = new SettingsField("Show Current Target Score", UiType.Bool, core.uiManager.boolPrefab, "Settings/Plugins/Score Manager", scoreConfig.showCurrentTargetScore); setting.boolCall = SetShowCurrentTargetScore; settingsFields.Add(setting); } core.settingsManager.settings.AddRange(settingsFields); core.settingsManager.UpdateSettingsUi(); }
private void SetupUiElements() { List <SettingsField> settingsFields = new List <SettingsField>(); { SettingsField setting = new SettingsField("Import Beatsaber Song", UiType.Button, core.uiManager.buttonPrefab, "Settings/Plugins/Beat Saber Import"); setting.buttonCall = LoadBeatSaberMap; settingsFields.Add(setting); } { SettingsField setting = new SettingsField("Import Beatsaber Song Folder", UiType.Button, core.uiManager.buttonPrefab, "Settings/Plugins/Beat Saber Import"); setting.buttonCall = LoadBeatSaberMapFolder; settingsFields.Add(setting); } core.settingsManager.settings.AddRange(settingsFields); core.settingsManager.UpdateSettingsUi(); }
private Field MapField(SettingsField setting, int order) { var field = new Field { Name = setting.Name, Label = setting.Label, Order = order, Type = setting.Type == "text" ? "textbox" : setting.Type }; if (setting.Type == "select") { var sorted = setting.Options.OrderBy(x => x.Key).ToList(); field.SelectOptions = sorted.Select((x, i) => new SelectOption { Value = i, Name = x.Value }).ToList(); field.Value = sorted.Select(x => x.Key).ToList().IndexOf(setting.Default); } else if (setting.Type == "checkbox") { if (bool.TryParse(setting.Default, out var value)) { field.Value = value; } else { field.Value = false; } } else { field.Value = setting.Default; } return(field); }
private object MapValue(SettingsField setting, object value) { if (setting.Type == "select") { return(value.ToString().ParseInt64() ?? 0); } else if (setting.Type == "checkbox") { if (bool.TryParse(value.ToString(), out var result)) { return(result); } else { return(false); } } else { return(value?.ToString() ?? string.Empty); } }
private void SetupUiElements() { List <SettingsField> audioSettings = new List <SettingsField>(); { SettingsField setting = new SettingsField("General", UiType.Int, core.uiManager.intPrefab, "Settings/Audio", audioConfig.generalVolume); setting.floatCall = delegate(float arg0) { SetGeneralVolume((int)arg0); }; setting.stringCall = delegate(string arg0) { SetGeneralVolume(int.Parse(arg0)); }; setting.maxValue = 100; setting.minValue = 0; audioSettings.Add(setting); } { SettingsField setting = new SettingsField("Menu", UiType.Int, core.uiManager.intPrefab, "Settings/Audio", audioConfig.menuVolume); setting.floatCall = delegate(float arg0) { SetMenuVolume((int)arg0); }; setting.stringCall = delegate(string arg0) { SetMenuVolume(int.Parse(arg0)); }; setting.maxValue = 100; setting.minValue = 0; audioSettings.Add(setting); } { SettingsField setting = new SettingsField("Song", UiType.Int, core.uiManager.intPrefab, "Settings/Audio", audioConfig.songVolume); setting.floatCall = delegate(float arg0) { SetSongVolume((int)arg0); }; setting.stringCall = delegate(string arg0) { SetSongVolume(int.Parse(arg0)); }; setting.maxValue = 100; setting.minValue = 0; audioSettings.Add(setting); } { SettingsField setting = new SettingsField("Song Preview", UiType.Int, core.uiManager.intPrefab, "Settings/Audio", audioConfig.songPreviewVolume); setting.floatCall = delegate(float arg0) { SetSongPreviewVolume((int)arg0); }; setting.stringCall = delegate(string arg0) { SetSongPreviewVolume(int.Parse(arg0)); }; setting.maxValue = 100; setting.minValue = 0; audioSettings.Add(setting); } { SettingsField setting = new SettingsField("Hit", UiType.Int, core.uiManager.intPrefab, "Settings/Audio", audioConfig.hitVolume); setting.floatCall = delegate(float arg0) { SetHitVolume((int)arg0); }; setting.stringCall = delegate(string arg0) { SetHitVolume(int.Parse(arg0)); }; setting.maxValue = 100; setting.minValue = 0; audioSettings.Add(setting); } { SettingsField setting = new SettingsField("Miss", UiType.Int, core.uiManager.intPrefab, "Settings/Audio", audioConfig.missVolume); setting.floatCall = delegate(float arg0) { SetMissVolume((int)arg0); }; setting.stringCall = delegate(string arg0) { SetMissVolume(int.Parse(arg0)); }; setting.maxValue = 100; setting.minValue = 0; audioSettings.Add(setting); } { SettingsField setting = new SettingsField("Wrong Hit", UiType.Int, core.uiManager.intPrefab, "Settings/Audio", audioConfig.wrongHitVolume); setting.floatCall = delegate(float arg0) { SetWrongHitVolume((int)arg0); }; setting.stringCall = delegate(string arg0) { SetWrongHitVolume(int.Parse(arg0)); }; setting.maxValue = 100; setting.minValue = 0; audioSettings.Add(setting); } core.settingsManager.settings.AddRange(audioSettings); core.settingsManager.UpdateSettingsUi(); }