using UnityEngine;
using System.Collections;
public class TouchInput : MonoBehaviour {
public LayerMask touchInputMask;
private RaycastHit hit;
// Update is called once per frame
void Update () {
if(Input.touchCount > 0){
foreach (Touch touch in Input.touches){
Ray ray = camera.ScreenPointToRay(touch.position);
if(Physics.Raycast(ray, out hit, touchInputMask)){
GameObject recepient = hit.transform.gameObject;
if(touch.phase == TouchPhase.Began){
recepient.SendMessage("OnTouchDown",hit.point,SendMessageOptions.DontRequireReceiver);
}
if(touch.phase == TouchPhase.Ended){
recepient.SendMessage("OnTouchUp",hit.point,SendMessageOptions.DontRequireReceiver);
}
if(touch.phase == TouchPhase.Stationary || touch.phase == TouchPhase.Moved){
recepient.SendMessage("OnTouchStay",hit.point,SendMessageOptions.DontRequireReceiver);
}
if(touch.phase == TouchPhase.Canceled){
recepient.SendMessage("OnTouchExit",hit.point,SendMessageOptions.DontRequireReceiver);
}
}
}
}
}
}
Your formatting for a start
– Kiwasi