// Esta funcao e chamada a cada frame
 void Update()
 {
     if (alive)
     {
         if (curHealth <= 0)
         {
             // O boss morreu
             movementScript.canMove = false; // O boss nao pode mais se mexer
             attackScript.canAttack = false; // O boss nao pode mais atacar
             animator.SetTrigger("Died");    // Avisa ao Animator que ele morreu
             oldCollider.enabled = false;
             newCollider.enabled = true;
             if (healthBar != null)
             {
                 Destroy(healthBar.gameObject, 0.5f); // Desativa sua barra de vida apos um certo tempo
             }
             Destroy(gameObject, 4f);                 // Destroi ele apos um certo tempo
             // Abre todas as portas para o jogador
             foreach (GameObject obj in doors)
             {
                 DoorController contr = obj.GetComponent <DoorController>();
                 contr.CanBeOpened(true);
             }
             alive = false;
             attackScript.IsAlive(false);
         }
         // Atualiza a barra de vida
         healthBar.SetValueWithoutNotify(curHealth / health);
     }
 }
 // Essa funcao e chamada antes do primeiro Update
 void Start()
 {
     curHealth = health;
     // Acha todas as portas da cena
     doors = GameObject.FindGameObjectsWithTag("Door");
     // Desativa todas
     foreach (GameObject obj in doors)
     {
         DoorController contr = obj.GetComponent <DoorController>();
         contr.CanBeOpened(false);
     }
 }