Exemple #1
0
        protected override void Start()
        {
            base.Start();

            settingData = SettingData.LoadFromFile();

            if (settingData == null)
            {
                settingData = new SettingData();
                settingData.LoadDefault();
                settingData.SaveData();
            }

            LoadSetting(settingData);

            bgmSlider.onValueChanged.AddListener(volumn => {
                settingData.BGMVolumn = volumn;
                bgmChangeHandle?.Invoke(volumn);
            });

            soundSlider.onValueChanged.AddListener(volumn => {
                settingData.SoundVolumn = volumn;
                soundChangeHandle?.Invoke(volumn);
            });

            vSyneToggle.onValueChanged.AddListener(isVSync => {
                settingData.isVSync         = isVSync;
                QualitySettings.vSyncCount  = isVSync ? 1 : 0;
                Application.targetFrameRate = isVSync ? 120 : 100;
            });

            resolutionDropdown.onValueChanged.AddListener(optionIndex => {
                settingData.resolutionMultiple = resolutionDropdown.value + baseMultiple;
                SetResolution(GetResolution(optionIndex + baseMultiple), settingData.isFullScreen);
            });

            fullScreenToggle.onValueChanged.AddListener(isFull => {
                Screen.fullScreen        = isFull;
                settingData.isFullScreen = isFull;
            });

            showTimeTextToggle.onValueChanged.AddListener(valueBool => {
                showTimeTextHandle?.Invoke(valueBool);
                settingData.isShowTimeText = valueBool;
            });

            cnToggle.onValueChanged.AddListener(valueBool => {
                if (currentLang == LanguageType.CN)
                {
                    cnToggle.isOn = true;
                    return;
                }
                if (valueBool)
                {
                    langChangeHandle?.Invoke(LanguageType.CN);
                    LoadLanguage(LanguageType.CN);
                }
            });

            enToggle.onValueChanged.AddListener(valueBool => {
                if (currentLang == LanguageType.EN)
                {
                    enToggle.isOn = true;
                    return;
                }
                if (valueBool)
                {
                    langChangeHandle?.Invoke(LanguageType.EN);
                    LoadLanguage(LanguageType.EN);
                }
            });

            jpToggle.onValueChanged.AddListener(valueBool => {
                if (currentLang == LanguageType.JP)
                {
                    jpToggle.isOn = true;
                    return;
                }
                if (valueBool)
                {
                    langChangeHandle?.Invoke(LanguageType.JP);
                    LoadLanguage(LanguageType.JP);
                }
            });

            yesButton.onClick.AddListener(() => {
                settingData.SaveData();
                Close();
            });

            noButton.onClick.AddListener(() => {
                LoadSetting(tempData);
                Close();
            });

            Close();
        }