/// <summary>
    /// plays the AudioClip with the specified volumeScale and pitch
    /// </summary>
    /// <returns>The sound.</returns>
    /// <param name="audioClip">Audio clip.</param>
    /// <param name="volume">Volume.</param>
    public SMSound playSound(AudioClip audioClip, float volumeScale, float pitch)
    {
        // Find the first SKSound not being used. if they are all in use, create a new one
        SMSound sound = nextAvailableSound();

        sound.PlayAudioClip(audioClip, volumeScale * _soundEffectVolume, pitch);

        return(sound);
    }
    /// <summary>
    /// loops the AudioClip. Do note that you are responsible for calling either stop or fadeOutAndStop on the SKSound
    /// or it will not be recycled
    /// </summary>
    /// <returns>The sound looped.</returns>
    /// <param name="audioClip">Audio clip.</param>
    public SMSound playSoundLooped(AudioClip audioClip)
    {
        // find the first SKSound not being used. if they are all in use, create a new one
        SMSound sound = nextAvailableSound();

        sound.PlayAudioClip(audioClip, _soundEffectVolume, 1f);
        sound.SetLoop(true);

        return(sound);
    }