Newer
Older
HardPoint-Project-Abertay-University-Unity3D / Assets / Audios / SoundsManager.cs
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;
}