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

[RequireComponent(typeof(Image))]
public class MSUI_Controller : MonoBehaviour 
{
	[SerializeField]
	[Tooltip("maxDistance is the distance where the color mask isn't visible anymore.")]
	private float maxDistance = 10;
	[SerializeField]
	[Tooltip("maxMaskSize increases the mask size.")]
	[Range(0, 1)]
	private float maxMaskSize = 0;

	private Transform target;
	private Image image;

	void Start()
	{
		target = Camera.main.transform;
		image = this.GetComponent<Image>();
	}

	void Update()
	{
		float dis = Vector3.Distance(this.transform.position, target.transform.position);

		if(dis < maxDistance)
		{
			dis = dis / maxDistance;
			dis = (dis * -2) + maxMaskSize;
			dis = Mathf.Clamp(dis, -1, 1);
		}
		else
		{
			dis = -1;
		}

		image.material.SetFloat("_SSSMaskSize", dis);
	}
}