예제 #1
0
 public void OnInjectionFinished()
 {
     voiceChooserControl = new LabeledItemPickerControl <Voice>(visualElement.Q <ItemPicker>(R.UxmlNames.voiceChooser), new List <Voice>());
     voiceChooserControl.GetLabelTextFunction = voice => voice != null
         ? voice.Name
         : "";
 }
예제 #2
0
    private void InitMenu()
    {
        // Recording device
        recordingDevicePickerControl = new(recordingDevicePicker, Microphone.devices.ToList());
        recordingDevicePickerControl.SelectItem(settings.MicProfile.Name);
        recordingDevicePickerControl.Selection.Subscribe(newValue => settings.SetMicProfileName(newValue));

        // Language
        languagePickerControl = new LabeledItemPickerControl <SystemLanguage>(languagePicker, translationManager.GetTranslatedLanguages());
        languagePickerControl.SelectItem(settings.GameSettings.language);
        languagePickerControl.Selection.Subscribe(newValue => settings.GameSettings.language = newValue);
        settings.ObserveEveryValueChanged(it => it.GameSettings.language)
        .Subscribe(newValue =>
        {
            translationManager.currentLanguage = newValue;
            translationManager.ReloadTranslationsAndUpdateScene();
        });

        // Dev Mode
        devModePickerControl = new BoolPickerControl(devModePicker);
        devModePickerControl.SelectItem(settings.IsDevModeEnabled);
        devModePickerControl.Selection.Subscribe(newValue => settings.IsDevModeEnabled = newValue);
        settings
        .ObserveEveryValueChanged(it => it.IsDevModeEnabled)
        .Subscribe(newValue => OnDevModeEnabledChanged(newValue));

        // Show/hide menu overlay
        HideMenu();
        showMenuButton.RegisterCallbackButtonTriggered(() => ShowMenu());
        hiddenCloseMenuButton.RegisterCallbackButtonTriggered(() => HideMenu());
        closeMenuButton.RegisterCallbackButtonTriggered(() => HideMenu());
    }