IEnumerator Timer() { while (currentTimer > 0 && !perdu) { yield return(new WaitForSeconds(1)); currentTimer--; } if (perdu) { StartCoroutine("Fin", "Game Over!\nVous n'avez plus d'habitant !"); image.enabled = true; image.GetComponent <Animation>().Play(); } else if (listEvents.getSize() != 0) { Evenement e = listEvents.getEvent(); e = Instantiate(e); evenementsActifs.Add(e); EventsUIUpdater.getInstance().updateEventsUI(evenementsActifs); print("temps :" + e.getDuree()); currentTimer = e.getDuree(); if (listEvents.getSize() == 0) { currentTimer += laps; } StartCoroutine("Timer"); } else if (listEvents.getSize() == 0 && FindObjectOfType <Evenement>()) { StartCoroutine("Fin", "Game Over!\nVous n'avez pas fini tous les évènements !"); image.enabled = true; image.GetComponent <Animation>().Play(); } else { StartCoroutine("Fin", "Fin du niveau !\nVoici votre score : " + score); image.enabled = true; image.GetComponent <Animation>().Play(); } }