// Update is called once per frame void Update() { if (random) { RandSpawn(); } else if (i < fases.Count) { infoFase = fases[i]; if (Time.time >= nextFire) { if (j < infoFase.Count) { actualEnemy = infoFase[j++]; var navenemy = (GameObject)Instantiate( enemies[actualEnemy.GetEnemy()], spawns[actualEnemy.GetSpawn()].position, this.transform.rotation); float vida = navenemy.GetComponent <LifeEnemy>().life; float minimun = vida - (vida * actualEnemy.GetLive()); float maximun = vida + (vida * actualEnemy.GetLive()); navenemy.GetComponent <LifeEnemy>().life = (float)Random.Range(minimun, maximun); navenemy.GetComponent <EnemyShoot>().fireRatio = actualEnemy.GetFireRatio(); nextFire = Time.time + actualEnemy.GetTime(); } else if (!GameObject.Find("enemy_simple(Clone)")) { //Aquí cambio de fase Debug.Log("Cambio de fase"); changeStage.SetActive(true); StartCoroutine(FinFase()); nextFire = Time.time + 7.0f; i++; j = 0; } } } else { Debug.Log("hemos entrado donde no debíamos"); //Fin del nivel finisLevel.SetActive(true); StartCoroutine(FinLevel()); } }