Newer
Older
Dreamsturbia-Project-IADE-Unity3D / Assets / Scripts / Sound / AudioManager.cs
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Audio;

public class AudioManager : MonoBehaviour
{
    public AudioMixer mixer;


    public void SetMasterVolume(float v)
    {
        mixer.SetFloat("_masterVolume", GetValue(v));
    }
    public void SetSfxVolume(float v)
    {
        mixer.SetFloat("_sfxVolume", GetValue(v));
    }

    public void SetUISfxVolume(float v)
    {
        mixer.SetFloat("_uisfxVolume", GetValue(v));
    }

    public void SetMusicVolume(float v)
    {
        mixer.SetFloat("_musicVolume", GetValue(v));
    }

    private float GetValue(float v)
    {
        return Mathf.Log10(v) * 20;
    }

    public void GetMasterVolume(out float v)
    {
        mixer.GetFloat("_masterVolume",out v);
        v = Mathf.Pow(10.0f, v / 20.0f);
    }
    public void GetSfxVolume(out float v)
    {
        mixer.GetFloat("_sfxVolume",out v);
        v = Mathf.Pow(10.0f, v / 20.0f);
    }

    public void GetUISfxVolume(out float v)
    {
        mixer.GetFloat("_uisfxVolume",out v);
        v = Mathf.Pow(10.0f, v / 20.0f);
    }

    public void GetMusicVolume(out float v)
    {
        mixer.GetFloat("_musicVolume", out v);
        v = Mathf.Pow(10.0f, v / 20.0f);
    }
}