Newer
Older
Jacktheholdy
committed
using System.Collections;
using System.Collections.Generic;
using UnityEngine.UI;
using UnityEngine;
public class SoundManager : MonoBehaviour
{
public static SoundManager Instance;
[SerializeField] Slider volumeSlider;
public const float defaultVolume = 0.5f;
// Start is called before the first frame update
void Start()
{
if (!PlayerPrefs.HasKey("soundVolume"))
{
Jacktheholdy
committed
PlayerPrefs.SetFloat("soundVolume", defaultVolume);
Load();
Jacktheholdy
committed
{
Load();
}
}
public void Awake()
{
//singleton
Jacktheholdy
committed
{
Instance = this;
if (gameObject.IsRoot())
DontDestroyOnLoad(gameObject);
}
else
Jacktheholdy
committed
{
Destroy(gameObject);
}
}
private void OnDestroy()
{
if (!gameObject.IsRoot())
Instance = null;
}
Jacktheholdy
committed
public void ChangeVolume()
{
AudioListener.volume = volumeSlider.value;
Save();
}
private void Load()
{
volumeSlider.value = PlayerPrefs.GetFloat("soundVolume");
}
Jacktheholdy
committed
private void Save()
{
PlayerPrefs.SetFloat("soundVolume", volumeSlider.value);
}
}