示例#1
0
 public void AddFinger(OTTouchFinger finger)
 {
     if (!fingers.Contains(finger))
     {
         fingers.Add(finger);
         finger.gesture = this;
     }
 }
示例#2
0
 public void RemoveFinger(OTTouchFinger finger)
 {
     if (fingers.Contains(finger))
     {
         fingers.Remove(finger);
         finger.gesture = null;
     }
 }
示例#3
0
 public void Assign(OTTouchFinger finger)
 {
     fingerId      = finger.fingerId;
     position      = finger.position;
     deltaPosition = finger.deltaPosition;
     deltaTime     = finger.deltaTime;
     tapCount      = finger.tapCount;
     phase         = finger.phase;
 }
示例#4
0
    static void GetFingers()
    {
        if (OT.mobile)
        {
            fingerChecks.Clear();
            int i;
            for (i = 0; i < Input.touches.Length; i++)
            {
                fingerChecks.Add(Input.touches[i].fingerId);
            }

            // remove fingers that have gone
            i = 0;
            while (i < fingers.Count)
            {
                if (!fingerChecks.Contains(fingers[i].fingerId))
                {
                    OTTouchFinger finger = fingers[i];
                    OTTouchFinger.lookup.Remove(finger.fingerId);
                    if (finger.gesture != null)
                    {
                        finger.gesture.RemoveFinger(finger);
                    }
                    fingers.RemoveAt(i);
                }
                else
                {
                    i++;
                }
            }
            // update and add new fingers
            for (i = 0; i < Input.touches.Length; i++)
            {
                OTTouchFinger finger = OTTouchFinger.Lookup(Input.touches[i]);
                if (finger == null)
                {
                    fingers.Add(new OTTouchFinger(Input.touches[i]));
                    gestures.Add(new OTTouchGesture(fingers[fingers.Count - 1]));
                }
                else
                {
                    finger.Assign(Input.touches[i]);
                }
            }
        }

        for (int i = 0; i < fingers.Count; i++)
        {
            fingers[i].Update();
        }
    }
示例#5
0
 public void RemoveFinger(OTTouchFinger finger)
 {
     if (fingers.Contains(finger))
     {
         fingers.Remove(finger);
         finger.gesture = null;
     }
 }
示例#6
0
 public void AddFinger(OTTouchFinger finger)
 {
     if (!fingers.Contains(finger))
     {
         fingers.Add(finger);
         finger.gesture = this;
     }
 }
示例#7
0
 public OTTouchGesture(OTTouchFinger finger)
 {
     type = Type.Press;
     fingers.Add(finger);
     finger.gesture = this;
 }
示例#8
0
 public void Assign(OTTouchFinger finger)
 {
     fingerId = finger.fingerId;
     position = finger.position;
     deltaPosition = finger.deltaPosition;
     deltaTime = finger.deltaTime;
     tapCount = finger.tapCount;
     phase = finger.phase;
 }
示例#9
0
 public OTTouchFinger(OTTouchFinger finger)
 {
     Assign(finger);
 }
示例#10
0
 public OTTouchFinger(OTTouchFinger finger)
 {
     Assign(finger);
 }
示例#11
0
 public OTTouchGesture(OTTouchFinger finger)
 {
     type = Type.Press;
     fingers.Add(finger);
     finger.gesture = this;
 }