public static GM.PlayerPreference LoadPlayerPreferenceData() { string path = Application.persistentDataPath + "/PlayerData/" + "PlayerPreference" + ".Pre"; if (File.Exists(path)) { BinaryFormatter formatter = new BinaryFormatter(); FileStream stream = new FileStream(path, FileMode.Open, FileAccess.Read, FileShare.Read); //stream.Position = 0; GM.PlayerPreference data = new GM.PlayerPreference(); //stream.Seek(0, SeekOrigin.Begin); data = formatter.Deserialize(stream) as GM.PlayerPreference; stream.Close(); return(data); } else { Debug.Log("<color=red>Load Error</color>"); return(null); } }
//********************************** //設定偏好 public void SetPerfernce() { //讀偏好: GM.PlayerPreference _temp = Save_LoadSystem.LoadPlayerPreferenceData(); if (_temp != null) { GM.playerPreference = _temp; //難度 //GM.playerPreference.Difficult = _temp.Difficult; //設定值 ChangeImage(GM.playerPreference.IsMetronome, MetronomeImg, Metronome_active, Metronome_deactive); ChangeImage(GM.playerPreference.IsVibrate, VibrateImg, Vibrate_active, Vibrate_deactive); //音效: SetVolume_BGM(GM.playerPreference.MainBGM_V); SetVolume_Effect(GM.playerPreference.SoundEffect_V); SetVolume_Music(GM.playerPreference.GamePlayMusic_V); SetVolume_Metronome(GM.playerPreference.Metronome_V); Music.value = GM.playerPreference.GamePlayMusic_V; BGM.value = GM.playerPreference.MainBGM_V; Effect.value = GM.playerPreference.SoundEffect_V; Metronome.value = GM.playerPreference.Metronome_V; bpmSlider.GetComponent <Slider>().value = GM.playerPreference.Metronome_bpm; bpm_text.text = GM.playerPreference.Metronome_bpm.ToString(); if (GM.playerPreference.IsMetronome) { bpmSlider.SetActive(true); } else { //關閉Metronome bpmSlider.SetActive(false); } } }
//-------------------- //PlayerPerence--------------------- public static void SavePlayerPreferenceData(GM.PlayerPreference _playerPreference) { BinaryFormatter formatter = new BinaryFormatter(); string path = Application.persistentDataPath + "/PlayerData"; if (!Directory.Exists(path)) { Directory.CreateDirectory(path); } path += "/" + "PlayerPreference" + ".Pre"; FileStream stream = new FileStream(path, FileMode.Create, FileAccess.Write, FileShare.None); stream.Seek(0, SeekOrigin.Begin); formatter.Serialize(stream, _playerPreference); stream.Close(); stream.Dispose(); }