UnityGameProjectsCode / InTheDarkGame / RandomSound.cs
RandomSound.cs
Raw
using UnityEngine;

public class RandomSound : MonoBehaviour
{
    public AudioClip[] dripSounds;
    private AudioSource source;

    private float startingWaitTime;
    public float dripWaitTime;
    public float dripTimeVariation;
    private float timeWaited;

    private void Start()
    {
        source = GetComponent<AudioSource>();
        startingWaitTime = dripWaitTime;
        float variation = Random.Range(-dripTimeVariation, dripTimeVariation);
        dripWaitTime += variation;
    }

    private void Update()
    {
        timeWaited += Time.deltaTime;

        if (timeWaited >= dripWaitTime)
        {
            source.clip = dripSounds[Random.Range(0, dripSounds.Length - 1)];
            source.Play();
            timeWaited = 0.0f;
            dripWaitTime = startingWaitTime;
            float variation = Random.Range(-dripTimeVariation, dripTimeVariation);
            dripWaitTime += variation;
        }
    }
}