void CreateSpawner(int idx)
    {
        Transform rotater = new GameObject("Rotater").transform;

        rotater.transform.SetParent(transform, false);
        rotater.localRotation = Quaternion.Euler(0f, idx * 360f / numberOfSpawners, 0f);
        StuffSpawner spawner = Instantiate <StuffSpawner> (prefabSpawner);

        spawner.transform.SetParent(rotater, false);
        spawner.transform.localPosition = new Vector3(0f, 0f, radius);
        spawner.transform.localRotation = Quaternion.Euler(tiltAngle, 0f, 0f);
    }
示例#2
0
    void CreateSpawner(int index)
    {
        Transform rotater = new GameObject("Rotater").transform;

        rotater.SetParent(transform, false);
        rotater.localRotation = Quaternion.Euler(0f, index * 360 / numberOfSpawners, 0f);
        StuffSpawner spawner = Instantiate <StuffSpawner> (spawnerPrefab);

        spawner.transform.SetParent(rotater, false);
        spawner.transform.localPosition = new Vector3(0f, 0f, radius);
        spawner.transform.localRotation = Quaternion.Euler(tiltAngle, 0f, 0f);
        spawner.stuffMaterial           = stuffMaterials [index % stuffMaterials.Length];
    }
示例#3
0
    void CreateSpawner(int index)
    {
        // Create a new rotater object that goes into position on a 360 deg ring based on index
        Transform rotater = new GameObject("Rotater").transform;

        rotater.SetParent(transform, false);
        rotater.localRotation = Quaternion.Euler(0f, index * 360f / numberOfSpawners, 0f);

        // Create a spawner at the same position
        StuffSpawner spawner = Instantiate <StuffSpawner>(spawnerPrefab);

        spawner.transform.SetParent(rotater, false);
        spawner.transform.localPosition = new Vector3(0f, 0f, radius);
        spawner.transform.localRotation = Quaternion.Euler(tiltAngle, 0f, 0f);
        spawner.stuffMaterial           = stuffMaterials[index % stuffMaterials.Length];
    }
示例#4
0
    //spawns the spawner based on its index
    void CreateSpawner(int index)
    {
        Transform rotater = new GameObject("Rotater").transform;

        rotater.SetParent(transform, false);
        //evenly spaces out spawners in a circle
        rotater.localRotation =
            Quaternion.Euler(0f, index * 360f / numberOfSpawners, 0f);

        //instantiates the spawner pointing it towards the center
        StuffSpawner spawner = Instantiate <StuffSpawner>(spawnerPrefab);

        spawner.transform.SetParent(rotater, false);
        spawner.transform.localPosition = new Vector3(0f, 0f, radius);
        spawner.transform.localRotation = Quaternion.Euler(tiltAngle, 0f, 0f);

        //gives the spawner the color its objects will have
        spawner.stuffMaterial = stuffMaterials[index % stuffMaterials.Length];
    }
示例#5
0
    private void Awake()
    {
        mats    = new Material[4];
        mats[0] = mat0;
        mats[1] = mat1;
        mats[2] = mat2;
        mats[3] = mat3;
        for (int i = 0; i < numSpawns; ++i)
        {
            Transform rotater = new GameObject("rotater").transform;
            rotater.SetParent(transform);
            rotater.localRotation = Quaternion.Euler(0f, i * 360 / numSpawns, 0f);

            StuffSpawner spawner = Instantiate <StuffSpawner>(spawnerPrefab);
            spawner.transform.SetParent(rotater, false);
            spawner.transform.localPosition = new Vector3(0f, 0f, radius);
            spawner.transform.localRotation = Quaternion.Euler(-30f, 0f, 0f);
            spawner.material = mats[i % mats.Length];
        }
    }