﻿using UnityEngine;
using System.Collections;

public class BadGuy : MonoBehaviour {

	public int badguyType = 1;
	
	public float speed = 1;

	public float scale = 1;

	public float health = 20;
	public float healthMax = 20;

	private string weakness;

	public GameObject badGuySprite;
	public GameObject target;
	public PizzaMakerManager pizzaMakerManager;
	public BadGuyManager badGuyManager;
	
	public GameObject healthcontainer;
	
	private SpriteRenderer spr;
	private Color originalColor;
	
	public Transform pizzaTarget;
	
	public void Awake() {
		spr = badGuySprite.GetComponent<SpriteRenderer>();
		
		originalColor = spr.color;
		
		healthMax = health;
		
		weakness = "";
	}

	
	
	// Use this for initialization
	void Start () {
	
		if (speed < 0)
			speed = 1.0f;
	
	}
	
	// Update is called once per frame
	void Update () {
	
		Vector3 newLoc = Vector3.MoveTowards(transform.position, target.transform.position, speed * Time.deltaTime);
				
		this.transform.position = newLoc;
		
		if (this.transform.position.z < -7)
		{
			pizzaMakerManager.gameOver();
			speed = 0f;
		}	
		
		//	GameObject.Destroy (this.gameObject);
		
	}
		
	public void setWeakness(string w)
	{
		weakness = w;
		
		//Sprite s = badGuySprite.GetComponent<Sprite>();
		
		
		if (weakness == "PEPPERONI")
			renderer.material.color = new Color(223,52,0);
		if (weakness == "CHEESE")
			renderer.material.color = new Color(250,229,191);
		if (weakness == "VEGGIE")
			renderer.material.color = new Color(66,160,66);
		if (weakness == "HAWAIIAN")
			renderer.material.color = new Color(203,216,0);
		if (weakness == "SUPREME")
			renderer.material.color = new Color(59,52,43);
		
	}
	
	public string getWeakness()
	{
		return weakness;
	}
	
		
	public void die()
	{
		
		DestroyObject (this.gameObject);
	}
		
		
	void OnMouseEnter() 
	{
		spr.color = Color.white;
		Debug.Log ("BadGuy Mouseover: " + spr.color);
	}

	void OnMouseExit() 
	{
		spr.color = originalColor;
	}
		
	void OnMouseUp()
	{
		Debug.Log ("Clicked BadGuy");
		pizzaMakerManager.setCurrentBadGuy(gameObject);	
	}
}
