Example #1
0
 // Update is called once per frame
 void Update()
 {
     foreach (Touch thisTouch in Input.touches)
     {
         if (thisTouch.phase == TouchPhase.Began)
         {
             // we must have a new baby finger!
             FingerObj newFinger = Instantiate(fingerPrefab, TouchHelper.GetTouchWorldPosition(thisTouch), Quaternion.identity);
             // Instantiate all member variables the ugly way!
             newFinger.fingerID           = thisTouch.fingerId;
             newFinger.transform.position = TouchHelper.GetTouchWorldPosition(thisTouch);
             newFinger.touchLastFrame     = newFinger.touch = newFinger.originTouch = thisTouch;
             currentFingers.Add(newFinger);
             if (OnNewFinger != null)
             {
                 OnNewFinger(newFinger);
             }
         }
     }
     if (Input.mousePresent)
     {
         if (Input.GetMouseButtonDown(0))
         {
             // Debug.Log( "we got a mouse click");
             // Create a new baby mouse finger 🐁
             Touch     thisTouch = TouchHelper.GetFakeMouseTouch();
             FingerObj newFinger = Instantiate(fingerPrefab, TouchHelper.GetTouchWorldPosition(thisTouch), Quaternion.identity);
             // Instantiate all member variables the ugly way!
             newFinger.fingerID           = thisTouch.fingerId;
             newFinger.transform.position = TouchHelper.GetTouchWorldPosition(thisTouch);
             newFinger.touchLastFrame     = newFinger.touch = newFinger.originTouch = thisTouch;
             currentFingers.Add(newFinger);
             if (OnNewFinger != null)
             {
                 OnNewFinger(newFinger);
             }
         }
     }
     foreach (FingerObj thisFinger  in currentFingers)
     {
         thisFinger.UpdateFinger();
         if (FingersDoneUpdating != null)
         {
             FingersDoneUpdating();
         }
     }
 }