OnMouseButtonDown raycast
<p>I'm currently working on a mobile game project on Unity. I have a problem while trying to get collided item and working mechanic of Ray. Here is the code:</p>

<pre><code>void Update () {

int boxNumber = -1;

//Change with touch inputs
if(Input.GetMouseButtonDown(0)){
    mouseDownX = Input.mousePosition.x;
    mouseDownY = Input.mousePosition.y;
    xMove = true;
    RaycastHit hit = new RaycastHit ();
    Ray ray = Camera.main.ScreenPointToRay (Input.mousePosition);
    if (Physics.Raycast (ray, out hit, 100)) {
        boxNumber = int.Parse (hit.collider.gameObject.name);
    }
}
if(Input.GetMouseButtonUp(0)){
    mouseUpX = Input.mousePosition.x;
    mouseUpY = Input.mousePosition.y;
    yMove = true;
}
if(yMove == true &amp;&amp; boxNumber != -1){
    boxDecider (boxNumber,getDirection());
    Debug.Log (getDirection());
        yMove = false;
        xMove = false;
    }
}
</code></pre>

<p><code>getDirection()</code> <code>boxDecider()</code> methods are created by me and are working well. When first <code>if</code> statement is activated(when mouse button down) it finds the collided object correctly but it calls the <code>boxDecider()</code> method WITHOUT releasing the mouse button but it should call the method after releasing the mouse button.</p>