private void Update()
    {
        isGrounded = Physics.CheckSphere(this.transform.position, 0.1f, groundLayer);
        GravityHandler();
        if (Time.time >= nextAttackTime)
        {
            horizontalMove = Mathf.Clamp((Input.GetAxis("Horizontal") + virtualController.Horizontal()), -1, 1);
            verticalMove   = Mathf.Clamp((Input.GetAxis("Vertical") + virtualController.Vertical()), -1, 1);
        }
        else
        {
            horizontalMove = 0;
            verticalMove   = 0;
        }
        HandleMovement();
        float movement = Mathf.Clamp((Mathf.Abs(horizontalMove) + Mathf.Abs(verticalMove)), 0, 1);

        animator.SetFloat("Speed", (movement * moveSpeed));

        if (weapon == null)
        {
            animator.SetBool("HoldingWeapon", false);
        }
        else
        {
            animator.SetBool("HoldingWeapon", true);
        }

        //if (Input.GetKeyDown(KeyCode.Space) && (movement < 0.1f)) //Mouse0
        if (Input.GetKeyDown(KeyCode.Space)) //Mouse0
        {
            Fire();
        }
    }