Example #1
0
    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;
        }
    }
Example #2
0
 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;
     }
 }
Example #3
0
    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);
    }
Example #4
0
 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);
     }
 }