// 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); } }