bool ShouldJump(Vector3 currentNode) { float nodeDist = Vector3.Distance(this.transform.position, currentNode); Vector3 cHit = NodeList.ClosestHit(this.transform.position, currentNode - this.transform.position, nodeDist); if (cHit.x != Mathf.Infinity) // Does not have LOS { if (Vector3.Distance(this.transform.position, cHit) <= jumpDistance && Vector3.Distance(this.transform.position, cHit) > 5f) { print(Vector3.Distance(this.transform.position, cHit)); Debug.DrawRay(this.transform.position, currentNode - this.transform.position, Color.red, 10f); return(true); } } else { if (NeedsToJump(currentNode) && nodeDist <= jumpDistance) { print("NEEDS JUMP"); return(true); } } return(false); }