62 lines
1.2 KiB
C#
62 lines
1.2 KiB
C#
using UnityEngine;
|
|
using OHM.UnityToolkit;
|
|
using OHM.UnityToolkit.Vibration;
|
|
using UnityEngine.Serialization;
|
|
|
|
public class AppSettings : UniqueInstance<AppSettings>
|
|
{
|
|
[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);
|
|
}
|
|
}
|
|
}
|