﻿using UnityEngine;
using System.Collections;

public class FootSteps : MonoBehaviour {

	public bool onPuddle = false;
	public AudioClip[] footsteps;
	public AudioClip[] splashes;

	public GameObject whisper;
	float interval = 2.0f;
	float timer = 0.0f;

	AudioSource audio;
	CharacterController characterController;


	Vector3 previousPosition;
	float distance = 1.0f;

	// Use this for initialization
	void Start () {
		audio = GetComponent<AudioSource>();
		previousPosition = transform.position;
		characterController = GameObject.Find("Character").GetComponent<CharacterController>();
		timer = Time.time;
	}
	
	// Update is called once per frame
	void Update () {
		
		if ( Vector3.Distance(previousPosition, transform.position) > distance && characterController.isGrounded) {
			audio.PlayOneShot( footsteps[Random.Range(0, footsteps.Length)], 0.5f );
			if (onPuddle) audio.PlayOneShot( splashes[Random.Range(0, splashes.Length)], 0.5f );
			previousPosition = transform.position;
		}

		if (Time.time > timer + interval) {
			timer = Time.time;
			Instantiate( whisper, transform.position, Quaternion.identity );
		}
	}
}
