I wonder why simply StopCoroutine(CoRoutineName) does not work while calling StartCoroutine(CoRoutineName) works? I see that putting it into a Coroutine type variable solves it, but why exaclty? The StartCoroutine is called only once I suppose, since the if (Input.GetButtonDown) could be only true or false, and thus, I suppose it only starts the CoRoutineName coroutine once. And hence, simply stopping should be as simple as starting it, right? Code below just for clarity:
If my question is not really clear, please let me know.