using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Audio;

namespace ToolsBox.SoundManager{

    public enum SourcePosition
    {
        Manager,
        Object,
        Custom
    }

    [CreateAssetMenu(fileName ="newSoundData", menuName = "SoundManager/newSoundData")]
    public class SoundDataSO : ScriptableObject
    {
        

        [field : SerializeField] public List<AudioClip> Clips { get; private set; }
        [field: SerializeField] public AudioMixerGroup AudioMixerGroup { get; private set; }
        [field: SerializeField, Range(0,1)] public float Volume { get; private set; }
        [field: SerializeField] public bool Loop { get; private set; }

        public AudioClip GetRandomClip() => Clips[new System.Random().Next(Clips.Count)];

        public void PlaySound()
        {
            if(SoundManager.Instance != null) SoundManager.Instance.PlaySound(this);
        }
    }
}
