Example #1
0
    private GameObject TakeFromPool(EnemyTypeSpawner spawner)
    {
        for (int i = 0; i < spawner.onScene.Count; i++)
        {
            if (!spawner.onScene[i].activeInHierarchy)
            {
                return(spawner.onScene[i]);
            }
        }
        GameObject newOne = Instantiate(spawner.prefab, gameObject.transform);

        spawner.onScene.Add(newOne);
        return(newOne);
    }
Example #2
0
    IEnumerator SimpleContiniousSpawn(EnemyTypeSpawner spawner)
    {
        spawner.onScene = new List <GameObject>();
        while (true)
        {
            yield return(new WaitForSeconds(spawner.secsBetween));

            for (int i = 0; i < spawner.amount; i++)
            {
                GameObject temp = TakeFromPool(spawner);
                temp.transform.position = PosOutside();
                temp.SetActive(true);
            }
        }
    }