using UnityEngine;
using System.Collections;

public class Labyrinth : MonoBehaviour {

	public Texture2D menubackground;//variable d'affichage du "background" du menu principal
	public Texture2D textStart;	//variable d'affichage texte du bouton "start"
	public Texture2D textQuit;	//variable d'affichage texte du bouton "Quitter"
	
	public GUIText score;
	public static int scoreCube;
	//public Font font;
	
	public Texture2D pointeurSouris;//variable pour l'affichage du pointer
	/*
	public GameObject player; //déclaration de l'objet player pour la gestion de la mort du perso
	public GameObject cubedelamort; //déclaration de l'objet cubedelamort pour la gestion de la mort du perso
	*/
	string state = "menu"; //etat courant
	
	float timerDelay = 3.0f; //Combien de temps on attend
	float timer; // variable gestion du timer
	
	
	
	// Use this for initialization
	void Start () {		
		score.text="Score : "+scoreCube+""; //35 pour le level 1 et 86 pour le level 2
		scoreCube = 0;
		//Debug.Log("Coucou");
	}
	
	/*****************	DEBUT FONCTIONS UPDATE	*****************/
		
	// Update is called once per frame
	void Update () { //Fonction de calcul et mise en place des état de calculs
		
		
		//state = "score";
		
		
		switch(state){ //appel des etats de calcul mis à jour
			case "calcul": UpdateCalcul(); break; //actions du niveau
			case"init":	 	UpdateInit(); 	break;
			case"quit": 	UpdateQuit();	break;
			case"score": 	UpdateScore();	break;
			
		}
		
			
	}
	
	
	void UpdateCalcul(){
		OnGUICalcul();	//remise à jour de l'affichage du score et du temps
		
		//if( player.transform.position.y <= cubedelamort.transform.position.y){
		/*	if( player.transform.position.x <= cubedelamort.transform.position.z -200 && player.transform.position.x > cubedelamort.transform.position.x+200)
			{		
				if( player.transform.position.y <= cubedelamort.transform.position.y -200 && player.transform.position.y > cubedelamort.transform.position.y+200)
				{
			
			//	}
		//	}
			
		}
			
		//}
		/*if (player.transform.position = Vector3(0, 0, 0);)
		{
		GameObject.Destroy(player);	*/	
		
		//}
		
	}
	
	void UpdateQuit() {
		//On quitte (marche pour application mais par pour le web)
		Application.Quit ();
	}
	
	void UpdateInit () {		
		//génération de la map
		
		//On active l'alarme
		timer = Time.time + timerDelay;
	}
	
	
	/***************************	DEBUT GUI	*****************************/
	
	
	
	void OnGUI(){ //Fonction de  mise en place des état d'interfaces
		switch(state){ //appel des état des menus
			case"menu":	 OnGUIMenu(); break; //affichage du menu
			case "calcul": OnGUICalcul(); break; //mise en place de l'affichage du temps et du score
		//	case"score": OnGUIScore(); break;
		}
	Screen.showCursor=false;
		GUI.Label(new Rect(Input.mousePosition.x-16, Screen.height - Input.mousePosition.y-16, 32, 32), pointeurSouris );//Mise en place du pointer sur la souris
	}
	
	void OnGUICalcul(){
		GUI.Label(new Rect(Screen.width,Screen.height,Screen.width+300,Screen.height+350), "Présent");
	}
	

	
	void OnGUIMenu(){
		Debug.Log("Coucou");
		GUI.backgroundColor = new Color(0, 0, 0, 0);
		GUI.DrawTexture (new Rect(0,0,Screen.width/2,Screen.height), menubackground);
		GUI.DrawTexture (new Rect(Screen.width/2,0,Screen.width/2,Screen.height), menubackground);
		//Si on appuie sur le bouton "start" on passe à l'état "init"
		if(GUI.Button (new Rect((Screen.width/8 ), (Screen.height/2 - 50),327,166), textStart)){
		//if(GUI.Button (new Rect(100,100,100,100), "Start")){
			state ="init";
			state = "score";
		}
		
		//Si on appuie sur le bouton "quit" on passe à l'étape "quit"
		if(GUI.Button (new Rect((Screen.width/8 + 327), (Screen.height/2 - 50),327,166), textQuit)){
		//if(GUI.Button (new Rect(250,100,100,100), "Quit")){
			state = "quit";
		}
		
	}

	void UpdateScore(){

		score.text= "Score : " + scoreCube.ToString() ;
	}



}
		
		
		
	
