#pragma strict
var seg:GameObject;//objeto ponteiro
var novo:GameObject;//objeto a ser instanciado
var velocidade:float;//velocidade do movimento do snake

function Start () {
	renderer.material.color = Color.blue;
	seg = gameObject;
}

function Update () {	
	Movimento();
}

function OnCollisionEnter(collision:Collision){

	if(collision.gameObject.tag == "maca"){
		novoSegmento();
		Destroy(collision.gameObject);
	}
	
	if(collision.gameObject.tag == "parede" || collision.gameObject.name == "seg"){
		Application.LoadLevel("SnakeGameOver");
	}

}

function Movimento(){

	transform.Translate(Vector3(0, 0, velocidade));
	
	if(Input.GetKeyDown(KeyCode.LeftArrow)){
		transform.Rotate(0, 90, 0);
	}
	if(Input.GetKeyDown(KeyCode.RightArrow)){
		transform.Rotate(0, -90, 0);
	}

}

function novoSegmento(){
	var segmento:GameObject = Instantiate(novo, Vector3(30, 0, 200), Quaternion.identity);
	segmento.renderer.material.color = Color.blue;
	segmento.name = "seg";
	segmento.GetComponent(SmoothFollow).target = seg.transform; 
	seg = segmento;
}