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(); }