コード例 #1
0
ファイル: ActionDispatcher.cs プロジェクト: RossDay/Leap
 public void Dispatch(VyroGesture gesture)
 {
     foreach (GestureTrigger trigger in _Triggers.Values.Where(t => t is GestureTrigger))
         if (trigger.Check(gesture))
             trigger.Activate();
 }
コード例 #2
0
ファイル: GestureTrigger.cs プロジェクト: RossDay/Leap
 protected override bool CheckGesture(VyroGesture gesture)
 {
     var circle = gesture as VyroGestureCircle;
     if (circle == null) return false;
     return (circle.IsClockwise == IsClockwise && circle.Radius >= MinRadius && circle.Radius <= MaxRadius);
 }
コード例 #3
0
ファイル: GestureTrigger.cs プロジェクト: RossDay/Leap
 public bool Check(VyroGesture gesture)
 {
     return (CheckHand(gesture.HandIds) && CheckGesture(gesture));
 }
コード例 #4
0
ファイル: GestureTrigger.cs プロジェクト: RossDay/Leap
 protected abstract bool CheckGesture(VyroGesture gesture);
コード例 #5
0
ファイル: GestureTrigger.cs プロジェクト: RossDay/Leap
        protected override bool CheckGesture(VyroGesture gesture)
        {
            var swipe = gesture as VyroGestureSwipe;
            if (swipe == null) return false;

            var angle = swipe.Direction.RollDegrees();
            if (angle < 0)
                angle += 360;

            return (
                       swipe.Velocity >= MinVelocity && swipe.Velocity <= MaxVelocity
                       &&
                       swipe.Distance >= MinDistance && swipe.Distance <= MaxDistance
                       &&
                       angle >= MinAngle && angle <= MaxAngle
                   );
        }