using System.Collections; using System.Collections.Generic; using UnityEngine; namespace SimpleAudioManager { [CreateAssetMenu(fileName = "Song", menuName = "SimpleAudioManager/Song", order = 0)] public class Song : ScriptableObject { #region PROPERTIES /// /// The time before the end of a clip where a new loop of the clip will begin /// public float reverbTail = 0f; /// /// The different clips representing different intensities of the same composition /// public List intensityClips = new List(); #endregion #region PUBLIC METHODS /// /// Convert to song data /// public Data ToSongData() => new Data { reverbTail = reverbTail, intensityClips = new List(intensityClips) }; #endregion #region PUBLIC CLASSES /// /// The usable struct which contains the relevant information for the song /// public struct Data { public float reverbTail; public List intensityClips; } #endregion } } /* * Written by Ovani Sound & Brutiful Games * No credit required. * Revision: 06/20/2023 */