aboutsummaryrefslogtreecommitdiffstats
path: root/Assets/Scripts/AudioManager.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Assets/Scripts/AudioManager.cs')
-rw-r--r--Assets/Scripts/AudioManager.cs48
1 files changed, 48 insertions, 0 deletions
diff --git a/Assets/Scripts/AudioManager.cs b/Assets/Scripts/AudioManager.cs
new file mode 100644
index 0000000..ccb8ebc
--- /dev/null
+++ b/Assets/Scripts/AudioManager.cs
@@ -0,0 +1,48 @@
+using System;
+using UnityEngine;
+using UnityEngine.Audio;
+
+public class AudioManager : MonoBehaviour
+{
+ public Sound[] sounds;
+
+ private void Awake()
+ {
+ 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;
+ }
+ }
+
+ private void Start()
+ {
+ Play("BackgroundMusic");
+ }
+
+ public void Play(string name)
+ {
+ Sound s = Array.Find(sounds, sound => sound.name == name);
+ if (s == null) {
+ Debug.LogWarning("Sound Error: " + name + " could not be played");
+ return;
+ }
+ s.source.Play();
+ }
+
+ public void Stop(string name)
+ {
+ Sound s = Array.Find(sounds, sound => sound.name == name);
+ if (s == null) return;
+ s.source.Stop();
+ }
+
+ public bool isPlaying(string name)
+ {
+ Sound s = Array.Find(sounds, sound => sound.name == name);
+ if (s == null) return false;
+ return s.source.isPlaying;
+ }
+}