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();
        }
示例#3
0
        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);
        }
示例#4
0
 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);
     }
 }
示例#5
0
        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();
        }