using System; using System.Collections; using System.Collections.Generic; using Unity.VisualScripting; using UnityEngine; public class SoundsManager : MonoBehaviour { [SerializeField] private List<SoundClips> soundIdeas; private Dictionary<string, AudioClip> audioDictionary = new Dictionary<string, AudioClip>(); private AudioSource audioSource; void Start() { audioSource = GetComponent<AudioSource>(); foreach(SoundClips s in soundIdeas) { audioDictionary.Add(s.soundEffectName, s.audioClip); } } public void PlaySoundEffect(string soundEffectName, AudioSource aS) { if (audioDictionary.ContainsKey(soundEffectName)) { aS.clip =audioDictionary[soundEffectName]; aS.Play(); } } public bool IsPlaying(AudioSource aS) { return aS.isPlaying; } public void StopCurrentSound(AudioSource aS) { aS.Pause(); } } [Serializable] public struct SoundClips { public string soundEffectName; public AudioClip audioClip; }