public void LoadSettings()
    {
        Settings         = JsonUtility.FromJson <_TestGameOptionsClass>(File.ReadAllText(Application.persistentDataPath + "/Settings.json"));
        FullScreen.isOn  = Settings.fullscreen;
        ShadowsOn.isOn   = Settings.shadows;
        AnisoFilter.isOn = Settings.Aniso;

        GraphicsQuality.value = Settings.textureQuality;
        AntiAliasing.value    = Settings.antiAliasing;
        ShadowQuality.value   = Settings.shadowRes;
        VerticalSyn.value     = Settings.vSync;

        ScreenResolution.value = Settings.resolutionIndex;
        ScreenResolution.RefreshShownValue();
    }
    public void OnEnable()
    {
        resolutions = Screen.resolutions;
        Settings    = new _TestGameOptionsClass();

        ScreenResolution.onValueChanged.AddListener(delegate { OnScreenResolutionChange(); });
        GraphicsQuality.onValueChanged.AddListener(delegate { OnTextureQualityChange(); });
        AntiAliasing.onValueChanged.AddListener(delegate { OnAntiAliasingChange(); });
        ShadowQuality.onValueChanged.AddListener(delegate { OnShadowQualityChange(); });
        VerticalSyn.onValueChanged.AddListener(delegate { OnVSyncChange(); });

        FullScreen.onValueChanged.AddListener(delegate { OnFullScreenChange(); });
        ShadowsOn.onValueChanged.AddListener(delegate { OnShadowsEnabled(); });
        AnisoFilter.onValueChanged.AddListener(delegate { OnFilterChange(); });

        SaveSettings.onClick.AddListener(delegate { ApplyChanges(); });

        foreach (Resolution res in resolutions)
        {
            ScreenResolution.options.Add(new Dropdown.OptionData(res.ToString()));
        }
        LoadSettings();
    }