Ejemplo n.º 1
0
    private IEnumerator TimerToSpawn(int extraTime = 0)
    {
        yield return(new WaitForSeconds(respawnTime + extraTime));

        if (spawnSFX)
        {
            spawnSFX.Play();
        }

        GameObject enemy = Instantiate(enemyPrefab, transform.position, Quaternion.identity, transform);

        IRespawnable respawnable = enemy.GetComponent <IRespawnable>();

        if (respawnable != null)
        {
            respawnable.SetRespawner(this);
        }

        GameObject spawnFX = Instantiate(spawnEffect, transform.position, Quaternion.identity);

        EnemySpawnEffect enemySpawnEffect = spawnFX.GetComponent <EnemySpawnEffect>();

        enemySpawnEffect.Set(enemy);
        spawnFX.SetActive(true);
    }
Ejemplo n.º 2
0
    private void Start()
    {
        spawnSFX = GetComponent <AudioSource>();
        spawnFXs = new List <GameObject>();

        foreach (GameObject spawn in spawnList)
        {
            GameObject spawnFX = Instantiate(spawnPrefab, spawn.transform.position, Quaternion.identity);
            spawnFX.SetActive(false);

            EnemySpawnEffect enemySpawnEffect = spawnFX.GetComponent <EnemySpawnEffect>();
            enemySpawnEffect.Set(spawn);

            spawnFXs.Add(spawnFX);
        }
    }