OnMouseDown() touch emulator working but

Technicat posted this code a while back.

function Update () {

	var hit : RaycastHit;

	for (var i = 0; i < Input.touchCount; ++i) {

		if (Input.GetTouch(i).phase == TouchPhase.Began) {

		// Construct a ray from the current touch coordinates

		var ray = camera.ScreenPointToRay (Input.GetTouch(i).position);

		if (Physics.Raycast (ray,hit,1000)) {

			hit.transform.gameObject.SendMessage("OnMouseDown");

		}

	}

	}

}

It works great, but I need OnMouseUp() to work as well. I’ve tried and failed.

It took me way too long to figure this out.

private var thisTransform : Transform;

var tmpobj : Transform;



function Start()

{

	thisTransform = transform;

}

function Update () 

{



	var hit : RaycastHit;

	for (var i = 0; i < Input.touchCount; ++i) 

	{

		if (Input.GetTouch(i).phase == TouchPhase.Began) 

		{

			// Construct a ray from the current touch coordinates

			var ray = camera.ScreenPointToRay (Input.GetTouch(i).position);

			if (Physics.Raycast (ray,hit,1000)) 

			{

			hit.transform.gameObject.SendMessage("OnMouseDown");

			tmpobj = hit.transform;

			}

		}

		else if(Input.GetTouch(i).phase == TouchPhase.Ended) 

		{ 

		tmpobj.SendMessage("OnMouseUp");		

		}

	}

	

}