//------------------------------------------------------------------------
    void Spawn()
    {
        if (prefabList.Count == 0)
        {
            return;
        }

        if (spawnRegions.Count > 0)
        {
            spawnLocation = spawnRegions[ChooseWeightedSpawnIndex()].center;
        }

        ++aliveCount;

        int        idx    = Random.Range(0, prefabList.Count);
        GameObject prefab = prefabList[idx];

        GameObject go = GameObject.Instantiate(prefab, spawnLocation, Quaternion.identity);

        SpawnerChild child = go.AddComponent <SpawnerChild>();

        child.spawner = this;

        spawnTimer.Start(delayBetweenSpawns);
    }
Beispiel #2
0
    void Spawn(float facingDir)
    {
        if (prefabList.Count == 0)
        {
            return;
        }

        // -1 left/ 1 right
        spawnLocation = (facingDir > 0) ? rightSideSpawn.center : leftSideSpawn.center;

        int        index        = Random.Range(0, prefabList.Count);
        GameObject prefab       = prefabList[index];
        GameObject spawnedEnemy = Instantiate(prefab, spawnLocation, Quaternion.identity);

        SpawnerChild child = spawnedEnemy.AddComponent <SpawnerChild>();

        child.oncomingSpawner = this;

        enemyDoesExist = true;
    }
Beispiel #3
0
    //------------------------------------------------------------------------
    void Spawn()
    {
        if (prefabList.Count == 0)
        {
            return;
        }

        ++aliveCount;

        // TODO: Give options for HOW it spawns;
        int        idx    = Random.Range(0, prefabList.Count);
        GameObject prefab = prefabList[idx];
        GameObject go     = GameObject.Instantiate(prefab, transform.position, Quaternion.identity);

        SpawnerChild child = go.AddComponent <SpawnerChild>();

        child.spawner = this;

        spawnTimer.Start(delayBetweenSpawns);
    }