public Player_state MoveTowards(Vector3 moveTowardsTarget)
    {
        Vector3 lookAt = moveTowardsTarget;

        lookAt.y = transform.position.y;
        transform.LookAt(lookAt);
        if (Physics.Raycast(transform.position, (target.transform.position - transform.position).normalized, 1f * transform.localScale.x))
        {
            return(Player_state.ok);
        }

        else if (Mathf.Abs(moveTowardsTarget.x - transform.position.x) < ARRIVED_MOVE_TOW * transform.localScale.x &&
                 Mathf.Abs(moveTowardsTarget.z - transform.position.z) < ARRIVED_MOVE_TOW * transform.localScale.z)
        {
            return(Player_state.ok);
        }

        float staminaToBeUsed = state.getPace() * Time.deltaTime;

        if (state.IsMovingFast() && state.stamina < staminaToBeUsed)
        {
            state.currentPace = Pace.jogging;
        }


        rb.velocity = state.maxMoveSpeed * state.getPace() * transform.forward;

        if (state.IsMovingFast())
        {
            state.stamina -= staminaToBeUsed;
        }

        return(Player_state.notFound);
    }