Advertisement
gameDevTeacher

AudioFull

Nov 16th, 2022
112
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.34 KB | None | 0 0
  1. using System;
  2. using UnityEngine;
  3. using UnityEngine.Audio;
  4. using UnityEngine.InputSystem;
  5. using Slider = UnityEngine.UI.Slider;
  6.  
  7. public class AudioManager : MonoBehaviour
  8. {
  9. public AudioMixer masterMixer;
  10. //public Slider MasterVolSlider, SFXVolSlider, MusicVolSlider, DialogueVolSlider;
  11. public Slider[] MixerSliders;
  12.  
  13. private void Start()
  14. {
  15. InitialiseSliders();
  16. InitialiseMixerVolume();
  17. }
  18.  
  19. private void InitialiseMixerVolume()
  20. {
  21. for (int i = 0; i < MixerSliders.Length; i++)
  22. {
  23. masterMixer.SetFloat(MixerSliders[i].name, Mathf.Log10(PlayerPrefs.GetFloat(MixerSliders[i].name))*20);
  24. }
  25. }
  26.  
  27. private void InitialiseSliders()
  28. {
  29. for (int i = 0; i < MixerSliders.Length; i++)
  30. {
  31. MixerSliders[i].value = PlayerPrefs.GetFloat(MixerSliders[i].name);
  32. }
  33. }
  34.  
  35. private void Update()
  36. {
  37. if (Keyboard.current.oKey.wasPressedThisFrame)
  38. {
  39. for (int i = 0; i < MixerSliders.Length; i++)
  40. {
  41. print(MixerSliders[i].name+PlayerPrefs.GetFloat(MixerSliders[i].name));
  42. }
  43. /*print(PlayerPrefs.GetFloat("MasterVolume"));
  44. print(PlayerPrefs.GetFloat("SFXVolume"));
  45. print(PlayerPrefs.GetFloat("MusicVolume"));
  46. print(PlayerPrefs.GetFloat("DialogueVolume"));
  47. */
  48. }
  49. }
  50.  
  51.  
  52. public void ApplyChanges()
  53. {
  54. for (int i = 0; i < MixerSliders.Length; i++)
  55. {
  56. PlayerPrefs.SetFloat(MixerSliders[i].name, MixerSliders[i].value);
  57. }
  58. /*PlayerPrefs.SetFloat("MasterVolume", MasterVolSlider.value);
  59. PlayerPrefs.SetFloat("SFXVolume", SFXVolSlider.value);
  60. PlayerPrefs.SetFloat("MusicVolume", MusicVolSlider.value);
  61. PlayerPrefs.SetFloat("DialogueVolume", DialogueVolSlider.value);
  62. */
  63. }
  64.  
  65. public void SetMasterVolume(float mastervol)
  66. {
  67. masterMixer.SetFloat("MasterVolume", Mathf.Log10(mastervol)*20);
  68.  
  69. }
  70.  
  71. public void SetSFXVolume(float sfxvol)
  72. {
  73. masterMixer.SetFloat("SFXVolume", Mathf.Log10(sfxvol)*20);
  74. }
  75.  
  76. public void SetMusicVolume(float musicvol)
  77. {
  78. masterMixer.SetFloat("MusicVolume", Mathf.Log10(musicvol)*20);
  79. }
  80.  
  81. public void SetDialogueVolume(float dialoguevol)
  82. {
  83. masterMixer.SetFloat("DialogueVolume", Mathf.Log10(dialoguevol)*20);
  84. }
  85. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement