title: Debug Event being "used" in Unity 3D
body: <p>I'm having an issue with  the user interface on project I'm working on. It involves "nodes" and connecting them together. I have the connecting of two nodes together tied to pressing a button on an initial node and then clicking the other node to connect to it. The latter half is implemented by checking for when <code>Event.current.type == EventType.MouseDown</code> then joining the initial node with the node you last hovered over. </p>
  
  <p>This works fine most of the time however I noticed that sometimes when you clicked on another node it would not join them together instantaneously, but until you click off of the node. After doing <code>Debug.Log(Event.current.type)</code> it showed that sometimes the event was coming up as "used" when I clicked, instead of "mouseDown" and as such would not perform the join code until I clicked somewhere else. It seems to only happen for some nodes.</p>
  
  <p>Here are two gifs of the behaviour with the console output:</p>
  
  <p><img src="https://i.imgur.com/6Ai1c5u.gif" alt="Short demo"></p>
  
  <p><img src="https://i.imgur.com/eIRhYbh.gif" alt="Longer demo"></p>
  
  <p>Problem code:</p>
  
  <pre><code>private bool detectEscape()
  {
      Debug.Log(Event.current.type);
      return (Event.current.type == EventType.MouseDown);
  }
  </code></pre>
  
  <p>This function is returning False sometimes on mouse clicks due to the event being "used" sometimes. It is called in the GUI.</p>
  
  <p>Know of any reason what causes the current event to be used? I do comparisons like above in a number of places in my code. Could that be what is causing the current event to be used? How do I avoid it?</p>
  
  <p>Am I using the Event system correctly? </p>
  
  <p>Know of a better way to capture mouse clicks? Using <code>Input.GetMouseButtonDown(0)</code> unfortunately isn't an option as it only works when the game is running and this program is meant to be an extension to the editor. </p>
  
  <p>Otherwise, know of a way to put a break point in Unity 3D's source code so that I can put one in the the function <code>Event.Use()</code> and determine what is consuming the mouse event?</p>