public void Jump()
 {
     if (grounded && !crouch && recovered)
     {
         if (properties.jumpTimer == 0)
         {
             if (rigidbody2D.velocity.x == 0)
             {
                 rigidbody2D.AddForce(new Vector2(0.0f, properties.jumpForce));
             }
             else
             {
                 if (rigidbody2D.velocity.x > 0.1)
                 {
                     rigidbody2D.AddForce(new Vector2(100f, properties.jumpForce));
                 }
                 else if (rigidbody2D.velocity.x < -0.1)
                 {
                     rigidbody2D.AddForce(new Vector2(-100f, properties.jumpForce));
                 }
             }
             anim.Jump();
             Debug.Log("Jump");
             properties.jumpTimer = Time.time + 1.5f;
         }
         else if (Time.time < properties.jumpTimer)
         {
             Debug.Log("Too Soon");
         }
         else if (Time.time > properties.jumpTimer)
         {
             properties.jumpTimer = 0;
         }
     }
 }
    // Update is called once per frame
    void Update()
    {
        if (!jumping)
        {
            // Level Complete
            if (levelManager.RemainingStones == 1)
            {
                //if (!animationController.IsShoryuken)
                //    StartCoroutine(animationController.ShoryukenBounce());
                animationController.Shoryuken();
                StartCoroutine(levelManager.LevelComplete());
            }
            animationController.Jump(false);
            KeyboardInput();
            TouchInput();
        }
        else
        {
            animationController.Jump(true);
            if (!resetting)
            {
                transform.position = Vector3.MoveTowards(transform.position, levelManager.CurrentNode.transform.position, jumpSpeed);
                if (transform.position == levelManager.CurrentNode.transform.position)
                {
                    jumping = false;
                    levelManager.CurrentNode.GetComponent <Node>().Squish();
                }

                // squash/stretch over jump
                if (Vector2.Distance(transform.position, levelManager.CurrentNode.transform.position) > distanceFromNextRock / 2.0f)
                {
                    transform.localScale += new Vector3(scaleAmount, scaleAmount);
                }
                else
                {
                    if (transform.localScale.x > 1.0f)
                    {
                        transform.localScale -= new Vector3(scaleAmount, scaleAmount);
                    }
                }
            }
        }
    }