Skip to content
Snippets Groups Projects
SoundManager.cs 1.07 KiB
Newer Older
  • Learn to ignore specific revisions
  • 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")) {
                PlayerPrefs.SetFloat("soundVolume", defaultVolume);
                Load();
            } else
            {
                Load();
            }
        }
    
        public void Awake()
        {
            //singleton
            if(Instance == null)
            {
                Instance = this;
                DontDestroyOnLoad(gameObject);
            } else
            {
                Destroy(gameObject);
            }
        }
    
        public void ChangeVolume()
        {
            AudioListener.volume = volumeSlider.value;
            Save();
        }
    
        private void Load()
        {
            volumeSlider.value = PlayerPrefs.GetFloat("soundVolume");
        }
        private void Save()
        {
            PlayerPrefs.SetFloat("soundVolume", volumeSlider.value);
        }
    
    
    }