Ejemplo n.º 1
0
        public GameStateMachine()
        {
            mGreenScreenRoomState         = new GreenScreenRoomGameState();
            mFashionGameState             = new FashionGameState();
            mInactiveState                = new InactiveState();
            mGameStateMachineLoadingState = new GameStateMachineLoadingState(HandleInitialEntryToGame);

            mGreenScreenRoomState.AddTransition(mInactiveState);
            mGreenScreenRoomState.AddTransition(mFashionGameState);
            mGreenScreenRoomState.AddTransition(mGreenScreenRoomState);

            mFashionGameState.AddTransition(mInactiveState);
            mFashionGameState.AddTransition(mGreenScreenRoomState);

            mGameStateMachineLoadingState.AddTransition(mGreenScreenRoomState);
            mGameStateMachineLoadingState.AddTransition(mFashionGameState);

            mInactiveState.AddTransition(mFashionGameState);
            mInactiveState.AddTransition(mGreenScreenRoomState);
            mInactiveState.AddTransition(mGameStateMachineLoadingState);

            mGameStateMachineLoadingState.AddTransition(mGreenScreenRoomState);
            mGameStateMachineLoadingState.AddTransition(mFashionGameState);
            mGameStateMachineLoadingState.AddTransition(mInactiveState);
            this.EnterInitialState(mGameStateMachineLoadingState);

            if (GameFacade.Instance.RetrieveProxy <ClientAssetRepository>().Loaded)
            {
                mGameStateMachineLoadingState.ClientAssetRepositoryDoneLoading();
                LoadStrcuturesWhichDependOnClientAssetRepository();
            }
        }
        public GreenScreenRoomStateMachine()
        {
            mShoppingState = new ShoppingState();
            mGreenScreenRoomDefaultState = new GreenScreenRoomDefaultState();
            mInactiveState = new InactiveState();

            mShoppingState.AddTransition(mGreenScreenRoomDefaultState);
            mShoppingState.AddTransition(mInactiveState);

            mGreenScreenRoomDefaultState.AddTransition(mShoppingState);
            mGreenScreenRoomDefaultState.AddTransition(mInactiveState);

            mInactiveState.AddTransition(mShoppingState);
            mInactiveState.AddTransition(mGreenScreenRoomDefaultState);

            this.EnterInitialState(mInactiveState);
        }
        public GreenScreenRoomCameraStateMachine(GameObject mainCamera, Transform cameraTargetTransform)
        {
            mGreenScreenRoomDefaultCameraState = new GreenScreenRoomDefaultCameraState(cameraTargetTransform);
            mShoppingCameraState = new ShoppingCameraState(cameraTargetTransform);
            mInactiveState       = new InactiveState();

            mInactiveState.AddTransition(mGreenScreenRoomDefaultCameraState);
            mGreenScreenRoomDefaultCameraState.AddTransition(mShoppingCameraState);
            mShoppingCameraState.AddTransition(mGreenScreenRoomDefaultCameraState);

            this.EnterInitialState(mInactiveState);
        }
        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;
        }