public IEnumerator JumpToPosition(Vector3 _pos) { resetting = true; jumping = true; distanceFromNextRock = Vector2.Distance(transform.position, _pos); while (transform.position != _pos) { transform.position = Vector3.MoveTowards(transform.position, _pos, 0.1f); // squash/stretch over jump if (Vector2.Distance(transform.position, _pos) > distanceFromNextRock / 2.0f) { transform.localScale += new Vector3(scaleAmount, scaleAmount); } else { if (transform.localScale.x > 1.0f) { transform.localScale -= new Vector3(scaleAmount, scaleAmount); } } yield return(null); } jumping = false; resetting = false; animationController.StopShoryuken(); }