//[SerializeField] private float detectionDistance = 4f;
    //[SerializeField] private float deviationAmount = 1f;

    // Essa funcao e chamada a cada frame
    void Update()
    {
        // Se o boss pode se mover...
        if (canMove)
        {
            // Pega a próxima posicao do pilar
            Vector3 target = column.newColumnPos();
            // O boss corre para o proximo pilar que sera levantado
            movement = GetBestMove(this.transform.position, target);
            // O vetor de movimento tem sua magnitude normalizada para que o boss sempre tenha a mesma velocidade, independente da distancia dele aos pilares ou ao jogador
            movement = movement.normalized;
            // Se o boss ja alcancou o topo do pilar...
            if (Vector3.Distance(this.transform.position, target) <= minDistance)
            {
                // O boss para de se mover
                movement = Vector3.zero;
            }
            // Avisa o Animator da velocidade atual do boss
            animator.SetFloat("Speed", movement.sqrMagnitude);
            // Vira a sprite do boss de acordo com o movimento que ele esta fazendo
            float dot = Vector3.Dot(movement, Vector3.right);
            if (dot < 0)
            {
                sprite.flipX = false;
            }
            else
            {
                sprite.flipX = true;
            }
        }
        else
        {
            // Caso ele nao possa...
            // Fica parado
            movement = Vector3.zero;
            // Avisa ao Animator que ele esta parado
            animator.SetFloat("Speed", 0);
        }
    }