Fisec/Assets/Audio/AudioManager.cs
Gerard Gascón 9afd57306d init
2025-04-24 14:20:42 +02:00

52 lines
1.3 KiB
C#

using UnityEngine.Audio;
using System;
using UnityEngine;
public class AudioManager : MonoBehaviour{
public AudioMixerGroup mixerGroup;
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;
s.source.outputAudioMixerGroup = mixerGroup;
}
}
public void Play(string name){
Sound s = Array.Find(sounds, sound => sound.name == name);
if (s == null){
Debug.LogError("Sound: " + name + " not found!");
return;
}
s.source.Play();
}
public void Stop(string name){
Sound s = Array.Find(sounds, sound => sound.name == name);
if (s == null){
Debug.LogError("Sound: " + name + " not found!");
return;
}
s.source.Stop();
}
}