/* * @author Valentin Simonov / http://va.lent.in/ */ using UnityEngine; using TouchScript.Gestures; namespace TouchScript.Examples.Tap { /// public class Kick : MonoBehaviour { public float Force = 3f; public ParticleSystem Particles; private TapGesture gesture; private Rigidbody rb; private Camera activeCamera; private void OnEnable() { rb = GetComponent(); activeCamera = GameObject.Find("Scene Camera").GetComponent(); gesture = GetComponent(); gesture.Tapped += tappedHandler; } private void OnDisable() { gesture.Tapped -= tappedHandler; } private void tappedHandler(object sender, System.EventArgs e) { var ray = activeCamera.ScreenPointToRay(gesture.ScreenPosition); RaycastHit hit; if (Physics.Raycast(ray, out hit) && hit.transform == transform) { rb.AddForceAtPosition(ray.direction*Force, hit.point, ForceMode.Impulse); Instantiate(Particles, hit.point, Quaternion.identity); } } } }