using Gameplay.Performance; public class GameSettingManager { private static GameSettingManager instance; public static GameSettingManager Instance { get { if (instance == null) { CreateInstance(); } return instance; } } public static void CreateInstance() { if (instance != null) { return; } instance = new GameSettingManager(); } public GameSettingData SettingData; private GameSettingData _defaultSettingData; public void Init() { _defaultSettingData = new GameSettingData(); SettingData = StorageMgr.Instance.GetStorage("SettingData"); ChangeGameSettings(); } public void ChangeGameSettings() { AudioManager.Instance.GlobalMusicVolume = SettingData.BGMValue; AudioManager.Instance.GlobalSoundsVolume = SettingData.EffectValue; PerformanceManager.instance.SetFrameRate(SettingData.FrameRate); //TODO 画质高低 开启格子 语音 //PerformanceManager.instance.SetQuality() //保存至本地 StorageMgr.Instance.SyncForce = true; } public void RevertDefault() { SettingData.IsHighQuality = _defaultSettingData.IsHighQuality; SettingData.FrameRate = _defaultSettingData.FrameRate; SettingData.BGMValue = _defaultSettingData.BGMValue; SettingData.EffectValue = _defaultSettingData.EffectValue; SettingData.TalkValue = _defaultSettingData.TalkValue; SettingData.IsOpenGrid = _defaultSettingData.IsOpenGrid; ChangeGameSettings(); //保存至本地 StorageMgr.Instance.SyncForce = true; } }