// void OnCollisionEnter (Collision collision) // { // // Verificamos a tag do objeto // // Logo apos isso verificamos se o objeto que ele colidiu deu o dano ou recebeu o dano // if (collision.gameObject.tag == "bumperCar")// && collision.rigidbody.velocity.magnitude < this.rigidbody.velocity.magnitude) // { //// if (collision.gameObject.GetComponent<BumperCar>()) //// collision.gameObject.GetComponent<BumperCar>().BumperCarCrash(Vector3.Dot(collision.contacts[0].normal, collision.relativeVelocity) * rigidbody.mass); //// else if (collision.gameObject.GetComponent<BumperCar2>()) //// collision.gameObject.GetComponent<BumperCar2>().BumperCarCrash(Vector3.Dot(collision.contacts[0].normal, collision.relativeVelocity) * rigidbody.mass); //// else if (collision.gameObject.GetComponent<BumperCar3>()) //// collision.gameObject.GetComponent<BumperCar3>().BumperCarCrash(Vector3.Dot(collision.contacts[0].normal, collision.relativeVelocity) * rigidbody.mass); //// else if (collision.gameObject.GetComponent<BumperCar4>()) //// collision.gameObject.GetComponent<BumperCar4>().BumperCarCrash(Vector3.Dot(collision.contacts[0].normal, collision.relativeVelocity) * rigidbody.mass); //// else //// collision.gameObject.GetComponent<BumperCarIA>().BumperCarCrash(Vector3.Dot(collision.contacts[0].normal, collision.relativeVelocity) * rigidbody.mass); // //collision.rigidbody.AddForce(Vector3.forward * collision.relativeVelocity.magnitude, ForceMode.Impulse); // //print ("Vermelho: " + Vector3.Dot(collision.contacts[0].normal, collision.relativeVelocity) * rigidbody.mass); // } // } // // void OnCollisionStay (Collision collision) // { // if (collision.gameObject.tag == "bumperCar")// && collision.rigidbody.velocity.magnitude < this.rigidbody.velocity.magnitude) // { // colidindo = true; // } // } // // void OnCollisionExit (Collision collision) // { // if (collision.gameObject.tag == "bumperCar")// && collision.rigidbody.velocity.magnitude < this.rigidbody.velocity.magnitude) // { // colidindo = false; // } // } // // public void BumperCarCrash(float damage) // { // if (coins > damage/2) // { // coins -= (int)damage/2; // GameObject go = (GameObject)Instantiate(coinPrefab, new Vector3(transform.position.x, transform.position.y + 4, transform.position.z), Quaternion.identity); // //go.GetComponent<Rigidbody>().AddForce(Vector3.up * 10, ForceMode.Force); // go.GetComponent<Rigidbody>().AddExplosionForce(20, go.transform.position, 15, 9); // } // else // this.life -= damage/2; // } void ChangeState() { int o = Random.Range(0, 2); currentChesed = null; switch (o) { case 0: state = BUMPERCAR_IA.CHASING; break; case 1: state = BUMPERCAR_IA.COLLECTING; break; case 2: state = BUMPERCAR_IA.RUNNING; break; } timeToChangeState = 0; }
void Start() { state = BUMPERCAR_IA.CHASING; rigidbody.centerOfMass = new Vector3(0, 0, 0.5f); distanceChasing = 1000; life = 100; coins = 20; colidindo = false; StartCar(); ChooseNearestTarget(); }