﻿using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class PulsatingGlow : MonoBehaviour
{
	[SerializeField]
	[Tooltip("The speed the emission will pulse at")]
	private float pulseSpeed = 1f;

	[SerializeField]
	[Tooltip("Minimum value for the emission level")]
	private float minEmission = 0.5f;
	[SerializeField]
	[Tooltip("Maximum value for the emission level")]
	private float maxEmission = 1.5f;

	private Color emissionColor;
	private Material material;
	private float value;
	private bool direction;

	private void Start()
	{
		material = GetComponent<Renderer>().material;
		emissionColor = material.GetColor("_EmissionColor");
	}
	
	private void Update()
	{
		if (direction)
			value += Time.deltaTime * pulseSpeed;
		else
			value -= Time.deltaTime * pulseSpeed;

		if (value > maxEmission)
			direction = false;
		else if (value < minEmission)
			direction = true;

		var color = emissionColor * value;
		material.SetColor("_EmissionColor", color);
	}
}
