using UnityEngine; using UnityEngine.Audio; public class SettingsControl : MonoBehaviour { public AudioMixer mix; private float masterDefault = -10; private float envDefault = 0; private float musicDefault = 0; private float sfxDefault = -15; public SettingsSliderSendValue masterSet; public SettingsSliderSendValue envSet; public SettingsSliderSendValue musicSet; public SettingsSliderSendValue sfxSet; public void SetDefaultValues() //used for the reset button on the settings menu { SetMasterVolume(masterDefault); SetEnvVolume(envDefault); SetMusicVolume(musicDefault); SetSFXVolume(sfxDefault); masterSet.UpdateValues(); envSet.UpdateValues(); musicSet.UpdateValues(); sfxSet.UpdateValues(); } public void ModifyAllVolumes(float master, float env, float music, float sfx) { SetMasterVolume(master); SetEnvVolume(env); SetMusicVolume(music); SetSFXVolume(sfx); masterSet.UpdateValues(); envSet.UpdateValues(); musicSet.UpdateValues(); sfxSet.UpdateValues(); } public void SetMasterVolume(float value) { mix.SetFloat("Master Volume", value); mix.GetFloat("Master Volume", out float master); Debug.Log("Master set to " + master); } public float GetMasterVolume() { mix.GetFloat("Master Volume", out float currentVolume); return currentVolume; } public void SetEnvVolume(float value) { mix.SetFloat("Environment Volume", value); Debug.Log("Env set to " + value); } public float GetEnvVolume() { mix.GetFloat("Environment Volume", out float currentVolume); return currentVolume; } public void SetMusicVolume(float value) { mix.SetFloat("Music Volume", value); mix.SetFloat("Level Audio Volume", value); Debug.Log("Music set to " + value); } public float GetMusicVolume() { mix.GetFloat("Music Volume", out float currentVolume); return currentVolume; } public void SetSFXVolume(float value) { mix.SetFloat("Friendly Bot Volume", value); mix.SetFloat("Player Movement", value); mix.SetFloat("Friendly Movement", value); mix.SetFloat("Enemy Movement", value); mix.SetFloat("Enemy Bot Volume", value); mix.SetFloat("Explosion Volume", value); mix.SetFloat("Physics Coll Volume", value); Debug.Log("SFX set to " + value); mix.GetFloat("Master Volume", out float master); mix.GetFloat("Environment Volume", out float env); mix.GetFloat("Music Volume", out float music); mix.GetFloat("Friendly Bot Volume", out float sfx); Debug.Log("Volumes: " + master + " " + env + " " + music + " " + sfx); } public float GetSFXVolume() { mix.GetFloat("Friendly Bot Volume", out float currentVolume); return currentVolume; } }