示例#1
0
    public IEnumerator SpawnEnemies()
    {
        room.enemiesHaveSpawned = true;

        yield return(new WaitForSeconds(spawnWait));

        room.enemySpawns = GetComponentsInChildren <Transform>();

        foreach (Transform i in enemySpawns)
        {
            //Make sure not to spawn an enemy for the root, only children
            if (i != this.gameObject.transform && i.tag == "SpawnPoint")
            {
                int rand = Random.Range(0, 3);

                // Playing enemy spawn SFX
                FindObjectOfType <AudioManager>().Play("EnemySpawn");

                // Spawning regular enemies
                if (!room.isBossRoom)
                {
                    GameObject go = Instantiate(enemyPrefab, i.position, Quaternion.identity);
                    go.GetComponent <Enemy>().room = gameObject;
                    gm.ChooseElement(rand);
                    room.roomEnemyCount++;
                }

                //Spawning boss
                else
                {
                    GameObject go = Instantiate(enemyPrefab, i.position, Quaternion.identity);
                    go.GetComponent <Enemy>().room     = gameObject;
                    go.GetComponent <Enemy>().isBoss   = true;
                    go.GetComponent <Memory>().enabled = true;
                    rm.bossHealth.SetActive(true);
                    gm.ChooseElement(rand);
                    go.GetComponent <Enemy>().EGOBossHealth = rm.bossHealth;
                    room.roomEnemyCount++;
                }
            }
        }
    }