예제 #1
0
    private void createMiniAsteroid()
    {
        if (curDivision == maxDivision)           //we can divide an asteroids a limited number of times
        {
            return;
        }

        GameObject newAsteroid = (GameObject)Instantiate(gameObject, transform.position, transform.rotation);

        //setting scale and velocity
        Rigidbody newAsteroidRb     = newAsteroid.GetComponent <Rigidbody> ();
        Vector3   newAsteroidsScale = newAsteroidRb.transform.localScale;

        newAsteroidRb.transform.localScale = newAsteroidsScale * 0.5f;         //halve the size
        newAsteroidRb.velocity             = getRandomVelocity();

        //changing numDivision property of created asteroid to limit generation of new ones
        AsteroidController newAsteroidControllerScript = (AsteroidController)newAsteroid.GetComponent(typeof(AsteroidController));

        newAsteroidControllerScript.setNumDivision(curDivision + 1);
    }