public void StartNextStep() { Action <Vector2> gestureNotificationHandler = (Vector2 delta) => { swipesController.UnsubscribeFromSwipe(gestureSubscriptionID); gestureSubscriptionID = swipesController.SubscribeToSwipe(SwipesController.Swipe.Ending, (Vector2 delta1) => { swipesController.UnsubscribeFromSwipe(gestureSubscriptionID); StartNextStep(); }); }; currentStage++; List <Tuple <TutorialScript.Actions, GameObject> > newPermittedActions = new List <Tuple <TutorialScript.Actions, GameObject> >(); switch (currentStage) { case Stages.WaitingForStart: break; case Stages.SwipeDown: newPermittedActions.Add(new Tuple <TutorialScript.Actions, GameObject>(TutorialScript.Actions.SwipeDown, null)); permitedActionSetter(newPermittedActions); tutorialSwipeDown.SetActive(true); gestureSubscriptionID = swipesController.SubscribeToSwipe(SwipesController.Swipe.Down, gestureNotificationHandler); break; case Stages.SwipeUp: tutorialSwipeDown.SetActive(false); newPermittedActions.Add(new Tuple <TutorialScript.Actions, GameObject>(TutorialScript.Actions.SwipeUp, null)); permitedActionSetter(newPermittedActions); tutorialSwipeUp.SetActive(true); gestureSubscriptionID = swipesController.SubscribeToSwipe(SwipesController.Swipe.Up, gestureNotificationHandler); break; case Stages.SwipeLeft: newPermittedActions.Add(new Tuple <TutorialScript.Actions, GameObject>(TutorialScript.Actions.SwipeLeft, null)); permitedActionSetter(newPermittedActions); tutorialSwipeUp.SetActive(false); tutorialSwipeLeft.SetActive(true); gestureSubscriptionID = swipesController.SubscribeToSwipe(SwipesController.Swipe.Left, gestureNotificationHandler); break; case Stages.SwipeRight: newPermittedActions.Add(new Tuple <TutorialScript.Actions, GameObject>(TutorialScript.Actions.SwipeRight, null)); permitedActionSetter(newPermittedActions); tutorialSwipeLeft.SetActive(false); tutorialSwipeRight.SetActive(true); gestureSubscriptionID = swipesController.SubscribeToSwipe(SwipesController.Swipe.Right, gestureNotificationHandler); break; case Stages.End: tutorialSwipeRight.SetActive(false); permitedActionSetter(newPermittedActions); actionOnComplete(); currentStage = Stages.WaitingForStart; break; } }
private void _SubscribeToGestures() { if (!isSubscribedToGestures) { swipeDownSubscription = swipeController.SubscribeToSwipe(SwipesController.Swipe.Down, _SwipeHandler); swipeLeftSubscription = swipeController.SubscribeToSwipe(SwipesController.Swipe.Left, _SwipeHandler); swipeRightSubscription = swipeController.SubscribeToSwipe(SwipesController.Swipe.Right, _SwipeHandler); swipeUpSubscription = swipeController.SubscribeToSwipe(SwipesController.Swipe.Up, _SwipeHandler); spreadSubscription = pinchController.SubscribeToPinch(PinchController.Pinch.PinchOpen, _PinchHandler); pinchSubscription = pinchController.SubscribeToPinch(PinchController.Pinch.PinchClose, _PinchHandler); isSubscribedToGestures = true; } }
public int SubscribeToGesture(Gestures gesture, Action <Vector2> handler) { int subResult = -1; switch (gesture) { case Gestures.SwipeUp: subResult = swipesController.SubscribeToSwipe(SwipesController.Swipe.Up, handler as Action <Vector2>); break; case Gestures.SwipeDown: subResult = swipesController.SubscribeToSwipe(SwipesController.Swipe.Down, handler as Action <Vector2>); break; case Gestures.SwipeLeft: subResult = swipesController.SubscribeToSwipe(SwipesController.Swipe.Left, handler as Action <Vector2>); break; case Gestures.SwipeRight: subResult = swipesController.SubscribeToSwipe(SwipesController.Swipe.Right, handler as Action <Vector2>); break; default: break; } return(subResult); }
public void Permit(bool aroundOnly = false) { isAroundOnlyPermited = aroundOnly; if (!isPermited) { swipeController = GameObject.Find("Controller").GetComponent <SwipesController>(); twistController = GameObject.Find("Controller").GetComponent <TwistController>(); isPermited = true; swipeDownSubscription = swipeController.SubscribeToSwipe(SwipesController.Swipe.Down, _SwipeHandler); swipeLeftSubscription = swipeController.SubscribeToSwipe(SwipesController.Swipe.Left, _SwipeHandler); swipeRightSubscription = swipeController.SubscribeToSwipe(SwipesController.Swipe.Right, _SwipeHandler); swipeUpSubscription = swipeController.SubscribeToSwipe(SwipesController.Swipe.Up, _SwipeHandler); twistSubscription = twistController.SubscribeToTwist(TwistController.Twist.Twist, _TwistHandler); } }