// Update is called once per frame
    void FixedUpdate()
    {
        if (m_disableTimer > 0)
        {
            m_disableTimer -= Time.fixedDeltaTime;
            return;
        }

        Vector3 input = playerInput.GetMovement();

        Vector3 movement = Vector3.zero;

        if (!m_isJumping && !m_tongueController.IsTongueOut())
        {
            if (!m_tongueController.IsAiming())
            {
                if (playerInput.GetJumpDown())
                {
                    Jump(input);
                }
                else
                {
                    movement = Move(input);
                }
            }

            Aim(input);
        }
        else if (m_isJumping)
        {
            movement = DoJump();
        }

        transform.position += movement;

        animator.SetFloat("Speed", movement.magnitude);
    }