using Geri.MinMaxSlider; using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.Audio; [CreateAssetMenu(fileName = "Sounds", menuName = "Tools/Sounds")] public class Sounds : ScriptableObject{ [Tooltip("The music mixer.")] public AudioMixerGroup mainMixer = default; [Tooltip("The SFX mixer.")] public AudioMixerGroup sfxMixer = default; public List[] sounds; [System.Serializable] public class List{ [Tooltip("Name of the sound. Each name has to be different between each other.")] public string name; public AudioClip clip; [System.Serializable] public enum Type { Music, SFX } [Space] [Tooltip("Is it part of the music or the SFX?")] public Type type; [Space] [Tooltip("Default volume of the sound."), MinMaxSlider(0f, 1f)] public Vector2 volume; [Tooltip("Default pitch of the sound."), MinMaxSlider(.1f, 3f)] public Vector2 pitch; public bool loop; [HideInInspector] public AudioSource source; float randomVolume; public float RandomVolume{ get{ randomVolume = Random.Range(volume.x, volume.y); return randomVolume; } } float randomPitch; public float RandomPitch{ get{ randomPitch = Random.Range(pitch.x, pitch.y); return randomPitch; } } } }