public override void OnShow()
    {
        base.OnShow();
        this.FillAvailableResolutions();
        this.m_Quality.SetByOption(QualitySettings.names[QualitySettings.GetQualityLevel()]);
        Resolution resolution = ResolutionExtension.SelectResolution((Screen.fullScreenMode == FullScreenMode.Windowed) ? ResolutionExtension.ResolutionFromString(GreenHellGame.Instance.m_Settings.m_Resolution) : Screen.currentResolution);
        string     byOption;
        string     text;

        resolution.ToString2(out byOption, out text);
        if (!this.m_Resolution.SetByOption(byOption))
        {
            Screen.currentResolution.ToString2(out byOption, out text);
            this.m_Resolution.SetByOption(byOption);
        }
        FullScreenMode fullScreenMode = Screen.fullScreenMode;

        this.m_Fullscreen.SetSelectedOptionEnumValue <FullScreenMode>(fullScreenMode);
        this.FillAvailableRefreshRate(resolution);
        this.m_VSync.SetSelectedOptionBoolValue(QualitySettings.vSyncCount != 0);
        this.m_ShadowDistance.value = GreenHellGame.Instance.m_Settings.m_ShadowDistance;
        this.m_AntiAliasing.SetSelectedOptionBoolValue(GreenHellGame.Instance.m_Settings.m_AntiAliasing);
        this.m_TextureQuality.SetByOption(GreenHellGame.Instance.m_Settings.m_TextureQuality);
        this.m_FOV.value = GreenHellGame.Instance.m_Settings.m_FOVChange;
        this.m_ObjectDrawDistance.value = GreenHellGame.Instance.m_Settings.m_ObjectDrawDistance;
        this.m_FovTitlePrefix           = GreenHellGame.Instance.GetLocalization().Get("MenuOptions_Graphics_FOV", true);
        this.OnSliderMoved(this.m_FOV);
        this.m_Brightness.value = GreenHellGame.Instance.m_Settings.m_BrightnessMul;
    }
 public static Resolution SelectResolution(string res_name)
 {
     return(ResolutionExtension.SelectResolution(ResolutionExtension.ResolutionFromString(res_name)));
 }
Example #3
0
    private IEnumerator DelayedScreenSettingsChange(float exec_time)
    {
        if (this.m_ApplyingSettings)
        {
            yield break;
        }
        this.m_ApplyingSettings   = true;
        this.m_SettingsChangeTime = Time.realtimeSinceStartup;
        FullScreenMode full_screen;

        if (!Enum.TryParse <FullScreenMode>(this.m_Fullscreen, out full_screen))
        {
            full_screen = ((this.m_Fullscreen == "On") ? FullScreenMode.ExclusiveFullScreen : FullScreenMode.Windowed);
        }
        FullScreenMode fullScreenMode = Screen.fullScreenMode;
        Resolution     res            = ResolutionExtension.SelectResolution(this.m_Resolution);

        if (!res.Equals(Screen.currentResolution, false))
        {
            Screen.SetResolution(res.width, res.height, Screen.fullScreenMode, (Screen.fullScreenMode == FullScreenMode.ExclusiveFullScreen) ? res.refreshRate : Screen.currentResolution.refreshRate);
            while (!res.Equals(Screen.currentResolution, false) && this.m_SettingsChangeTime > Time.realtimeSinceStartup - 1f)
            {
                yield return(new WaitForEndOfFrame());
            }
            GreenHellGame.Instance.m_MenuResolutionX = res.width;
            GreenHellGame.Instance.m_MenuResolutionY = res.height;
            this.OnResolutionChanged(res.width, res.height);
            yield return(new WaitForEndOfFrame());
        }
        this.m_SettingsChangeTime = Time.realtimeSinceStartup;
        if (Screen.fullScreenMode != full_screen)
        {
            Screen.fullScreenMode = full_screen;
            while (Screen.fullScreenMode != full_screen && this.m_SettingsChangeTime > Time.realtimeSinceStartup - 1f)
            {
                yield return(new WaitForEndOfFrame());
            }
        }
        this.m_SettingsChangeTime = Time.realtimeSinceStartup;
        if (QualitySettings.vSyncCount != 0 != this.m_VSync)
        {
            if (this.m_VSync)
            {
                QualitySettings.vSyncCount = 1;
            }
            else
            {
                QualitySettings.vSyncCount = 0;
            }
            while (QualitySettings.vSyncCount != 0 != this.m_VSync && this.m_SettingsChangeTime > Time.realtimeSinceStartup - 1f)
            {
                yield return(new WaitForEndOfFrame());
            }
        }
        this.m_ApplyingSettings = false;
        string text = "";

        if (Screen.fullScreenMode == FullScreenMode.ExclusiveFullScreen && Screen.currentResolution.refreshRate != res.refreshRate)
        {
            text += "\n";
            text += GreenHellGame.Instance.GetLocalization().Get("MenuOptions_Graphics_RefreshRate", true);
        }
        if (Screen.fullScreenMode != full_screen)
        {
            text += "\n";
            text += GreenHellGame.Instance.GetLocalization().Get("MenuOptions_Graphics_Fullscreen", true);
        }
        if (text.Length > 0 && !GreenHellGame.IsYesNoDialogActive())
        {
            text += "\n";
            GreenHellGame.GetYesNoDialog().Show(null, DialogWindowType.Ok, GreenHellGame.Instance.GetLocalization().Get("YNDialog_OptionsGame_BackTitle", true), GreenHellGame.Instance.GetLocalization().GetMixed("MenuGraphics_SettingsChangeFailed", new string[]
            {
                text
            }), MainLevel.Instance == null);
        }
        yield break;
        yield break;
    }