﻿using UnityEngine;
using System.Collections;

public class ControlScript : MonoBehaviour
{
	public ProceduralCirclePlane plane;
	public ProceduralCirclePlane plane2;
	public Material mat;
	private bool animate = true;
	float LabeledSlider(string aLabel, float aValue, float aMin, float aMax, string aFormatString)
	{
		GUILayout.BeginHorizontal();
		GUILayout.Label(aLabel, GUILayout.Width(100));
		aValue = GUILayout.HorizontalSlider(aValue,aMin,aMax);
		GUILayout.Label(aValue.ToString(aFormatString), GUILayout.Width(100));
		GUILayout.EndHorizontal();
		return aValue;
	}
	void Start()
	{
		Debug.Log ("float: " + float.MaxValue);
	}
	void Update()
	{
		if (animate)
		{
			float val = mat.GetFloat("_Offset");
			val -= 1.0f * Time.deltaTime;
			if (val < -2f)
				val = 2f;
			mat.SetFloat("_Offset",val);
		}
	}
	void OnGUI ()
	{
		GUILayout.BeginArea(new Rect(0, 0, Screen.width, Screen.height));
		plane.radius = plane2.radius = LabeledSlider("radius", plane.radius, 0.1f, 9.99f, "0.00");

		plane.sections = plane2.sections = (int)LabeledSlider("sections", plane.sections, 3f, 100f, "000");
		mat.SetFloat("_Offset",LabeledSlider("offset", mat.GetFloat("_Offset"), -2f, 2f, "0.000"));
        mat.SetFloat("_BlendArea",LabeledSlider("BlendArea", mat.GetFloat("_BlendArea"), -0.5f, 2f, "0.000"));
		mat.SetFloat("_Power",LabeledSlider("Power", mat.GetFloat("_Power"), 0.1f, 5f, "0.000"));
		animate = GUILayout.Toggle(animate, "Animate","Button");
		GUILayout.EndArea();
	}
}
