using UnityEngine; using OHM.UnityToolkit; using OHM.UnityToolkit.Vibration; using UnityEngine.Serialization; public class AppSettings : UniqueInstance { [SerializeField] public SavedDataController savedDataController; [SerializeField] [FormerlySerializedAs("audioManager")] private AudioManager _audioManager; public bool VibrationsEnabled { get { return savedDataController.SavedData.vibrationEnabled; } set { VibrationManager.Enabled = value; savedDataController.SavedData.vibrationEnabled = value; savedDataController.SaveData(); } } public bool AudioEnabled { get { return savedDataController.SavedData.soundEnabled; } set { if (_audioManager != null) { _audioManager.SetMasterEnabled(value); _audioManager.SetSFXEnabled(value); _audioManager.SetMusicEnabled(value); } savedDataController.SavedData.soundEnabled = value; savedDataController.SaveData(); } } protected override void AwakeInstance() { Apply(); } public void Apply() { VibrationManager.Enabled = VibrationsEnabled; if (_audioManager != null) { _audioManager.Setup(AudioEnabled, AudioEnabled, AudioEnabled); } } }