示例#1
0
    //    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;
    }
示例#2
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();
 }