summaryrefslogtreecommitdiff
path: root/Assets/Scripts/AudioManager.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Assets/Scripts/AudioManager.cs')
-rw-r--r--Assets/Scripts/AudioManager.cs50
1 files changed, 50 insertions, 0 deletions
diff --git a/Assets/Scripts/AudioManager.cs b/Assets/Scripts/AudioManager.cs
new file mode 100644
index 0000000..23042c1
--- /dev/null
+++ b/Assets/Scripts/AudioManager.cs
@@ -0,0 +1,50 @@
+using UnityEngine;
+using UnityEngine.Audio;
+using System;
+
+public class AudioManager : MonoBehaviour
+{
+ public Sound[] sounds;
+
+ public static AudioManager instance;
+
+ // Start is called before the first frame update
+ void Awake()
+ {
+ if (instance == null)
+ instance = this;
+ else
+ {
+ Destroy(gameObject);
+ return;
+ }
+
+ DontDestroyOnLoad(gameObject);
+
+ foreach (Sound s in sounds)
+ {
+ s.source = gameObject.AddComponent <AudioSource>();
+ s.source.clip = s.clip;
+
+ s.source.volume = s.volume;
+ s.source.pitch = s.pitch;
+ s.source.loop = s.loop;
+ }
+ }
+
+ void Start()
+ {
+ Play("Splattack!");
+ }
+
+ public void Play(string name)
+ {
+ Sound s = Array.Find(sounds, sound => sound.name == name);
+ if (s == null)
+ {
+ Debug.LogWarning("Sound: " + name + " not found!");
+ return;
+ }
+ s.source.Play();
+ }
+}