Exemplo n.º 1
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());
    }
Exemplo n.º 2
0
    public void OnSceneInjectionFinished()
    {
        if (translationManager.currentLanguage != settings.Language)
        {
            translationManager.currentLanguage = settings.Language;
            translationManager.ReloadTranslationsAndUpdateScene();
        }

        if (Application.isPlaying)
        {
            // Fix: the method of the translationManager does not work, because scene.isLoaded is false for some reason.
            UpdateTranslatorsInScene();
        }
    }
Exemplo n.º 3
0
 private void SetLanguage(SystemLanguage newValue)
 {
     settings.GameSettings.language     = newValue;
     translationManager.currentLanguage = settings.GameSettings.language;
     translationManager.ReloadTranslationsAndUpdateScene();
 }