Пример #1
0
    void UpdateMeteorCount()
    {
        level = GameObject.Find("LevelManager").GetComponent <LevelManager>().level;
        int meteorCount = maxMeteorCount + (level / 4);       //Banking on truncation here.

        while (gameObject.transform.childCount < meteorCount)
        {
            rndAngle            = Random.value * Mathf.PI * 2;
            meteorStartDistance = distanceToCornerOfScreen + Random.value * 5.0f;

            rndMeteorStart = new Vector3(Mathf.Cos(rndAngle) * (meteorStartDistance), Mathf.Sin(rndAngle) * (meteorStartDistance), 0);

            if (Random.value > 0.85)
            {
                int        pu      = Random.value > 0.5 ? 0 : 1;
                GameObject powerUp = Instantiate(powerUps[pu], rndMeteorStart, Quaternion.identity) as GameObject;
                powerUp.transform.parent = this.gameObject.transform;
            }
            else
            {
                Transform newMeteor = Instantiate(baseMeteor, rndMeteorStart, Quaternion.identity) as Transform;
                newMeteor.transform.parent = this.gameObject.transform;
                PlanetaryGravity grav   = newMeteor.GetComponent <PlanetaryGravity>();
                float            gForce = grav.gravitationCoefficient;
                newMeteor.GetComponent <PlanetaryGravity>().gravitationCoefficient = gForce + ((level - 1) * gForce / 10);
            }
        }
    }
Пример #2
0
    // Awake(), when all objects has been initialised.
    void Awake( )
    {
        orbitShootScr       = GetComponent <OrbitShoot>();
        planetaryGravityScr = GetComponent <PlanetaryGravity>();

        targetPlanet = targetAsteroid.gameObject;

        UpdatePlanetaryGravity(orbitRadius, orbitSpeed, targetPlanet.transform);
        UpdateOrbitShoot(shootForce);

        // Set the references.
        orbitShootScr.RadVis = radVisPrefab;
    }