예제 #1
0
        public override void TutorialComplete()
        {
            base.TutorialComplete();

            this.UserAccountProxy.SetAccountProperty <bool>(UserAccountProperties.HasCompletedOpenMapTutorial, true);

            GreenScreenRoomTutorialGui.HidePopup();
        }
예제 #2
0
        public TutorialState(GreenScreenRoomTutorialGui tutorialGui, Action <TutorialState> tutorialStateFinishedCallback)
        {
            if (tutorialGui == null)
            {
                throw new ArgumentNullException("tutorialGui");
            }
            mTutorialGui = tutorialGui;

            mTutorialStateFinishedCallback = tutorialStateFinishedCallback;

            mUserAccountProxy = GameFacade.Instance.RetrieveProxy <UserAccountProxy>();
        }
예제 #3
0
        public override void EnterState()
        {
            GreenScreenRoomTutorialGui.OpenMovementPopup();
            mTutorialCompleteTask = null;
            mInputManager         = GameFacade.Instance.RetrieveMediator <InputManagerMediator>();

            mInputReceipts.Add(mInputManager.RegisterForButtonDown(KeyCode.Mouse0, CheckIfMouseComplete));
            mInputReceipts.Add(mInputManager.RegisterForButtonDown(KeyCode.UpArrow, TutorialCompleteWait));
            mInputReceipts.Add(mInputManager.RegisterForButtonDown(KeyCode.DownArrow, TutorialCompleteWait));
            mInputReceipts.Add(mInputManager.RegisterForButtonDown(KeyCode.LeftArrow, TutorialCompleteWait));
            mInputReceipts.Add(mInputManager.RegisterForButtonDown(KeyCode.RightArrow, TutorialCompleteWait));
        }
        public GreenScreenRoomTutorialStateMachine()
        {
            IGuiManager guiManager = GameFacade.Instance.RetrieveMediator <RuntimeGuiManager>();

            mUserAccountProxy = GameFacade.Instance.RetrieveProxy <UserAccountProxy>();

            mTutorialGui = new GreenScreenRoomTutorialGui(guiManager, mTutorialGuiPath);

            mInactiveState = new InactiveState();

            mMovementTutorialState   = new MovementTutorialState(mTutorialGui, NextTutorial);
            mGoShoppingTutorialState = new GoShoppingTutorialState(mTutorialGui, RemoveTutorialFromList);
            mMapTutorialState        = new MapTutorialState(mTutorialGui, EmptyCallback);
            mGetCashTutorialState    = new GetCashTutorialState(mTutorialGui, RemoveTutorialFromList);
            mDecorateTutorialState   = new DecorateTutorialState(mTutorialGui, RemoveTutorialFromList);

            mInactiveState.AddTransition(mGoShoppingTutorialState);
            mGoShoppingTutorialState.AddTransition(mInactiveState);

            mInactiveState.AddTransition(mMovementTutorialState);
            mMovementTutorialState.AddTransition(mInactiveState);

            mInactiveState.AddTransition(mMapTutorialState);
            mMapTutorialState.AddTransition(mInactiveState);

            mInactiveState.AddTransition(mGetCashTutorialState);
            mGetCashTutorialState.AddTransition(mInactiveState);

            mInactiveState.AddTransition(mDecorateTutorialState);
            mDecorateTutorialState.AddTransition(mInactiveState);

            this.EnterInitialState(mInactiveState);

            SetUpGreenScreenRoomTutorials();

            mScheduler = GameFacade.Instance.RetrieveMediator <SchedulerMediator>().Scheduler;
        }
예제 #5
0
 public override void EnterState()
 {
     GreenScreenRoomTutorialGui.OpenDecoratePopup();
 }
예제 #6
0
 public DecorateTutorialState(GreenScreenRoomTutorialGui tutorialGui, Action <TutorialState> tutorialCompletedCallback)
     : base(tutorialGui, tutorialCompletedCallback)
 {
 }
예제 #7
0
 public override void EnterState()
 {
     GreenScreenRoomTutorialGui.OpenGetCashPopup();
 }
예제 #8
0
 public override void EnterState()
 {
     GreenScreenRoomTutorialGui.OpenShoppingPopup();
 }
예제 #9
0
 public GoShoppingTutorialState(GreenScreenRoomTutorialGui tutorialGui, Action <TutorialState> tutorialCompletedCallback)
     : base(tutorialGui, tutorialCompletedCallback)
 {
 }
예제 #10
0
 public override void EnterState()
 {
     GreenScreenRoomTutorialGui.OpenFashionGamePopup();
 }