} //fim de Start() // Update is called once per frame void Update() { waypoint = waypoints[WPindexPointer]; //mira no waypoint adequado pointSpec = waypoint.GetComponentInParent <WaypointManager>(); //especificacoes do waypoint prevWaypoint = waypoints[pointSpec.alvo.getPrev()]; prevPointSpec = prevWaypoint.GetComponent <WaypointManager>(); //ponto atual (onde o carro esta no momento) rotacao = pointSpec.alvo.getGiro(); slow = prevPointSpec.alvo.getSlow(); //para ver no inspector accel = pointSpec.alvo.getAcel() * carro.spec.GetMaxAcel(); //aceleracao necessaria para o ponto efeitos.pitch = 1.3f * accel; //altera a velocidade do efeito de acordo com a aceleracao, que varia entre 0 e 1 if (slow) { //Se o waypoint atual precisar de desaceleracao float distance = Vector3.Distance(prevWaypoint.position, this.transform.position); //distancia ate o ponto //Debug.Log(string.Format("Distancia ao ponto {0}", distance)); //verificacoes //desacelera quando se aproximar do ponto definido if (distance <= prevPointSpec.GetComponentInParent <SphereCollider>().radius - 10) { //area de desaceleracao //while (distance <= prevPointSpec.GetComponentInParent<SphereCollider>().radius - 5){ //area de desaceleracao Slow(); this.chegou = true; //desabilita a aceleracao } else { this.chegou = false; //habilita a aceleracao } } //Se o waypoint nao precisar de desaceleracao if (!chegou) { Accell(); } } //fim de Update()