private void ReturnToTitleScene(string buttonCaption)
 {
     NextSceneParameters.Clear();
     NextSceneParameters.Set(TitleScene.First_Dialog_Parameter_Name, "start");
     NextSceneType = typeof(TitleScene);
     Deactivate();
 }
示例#2
0
        private void HandleNavigationDialogDismiss(string buttonCaption)
        {
            NextSceneType = typeof(TitleScene);
            NextSceneParameters.Set("music-already-running", true);

            Deactivate();
        }
示例#3
0
 private void ReturnToTitleScene()
 {
     NextSceneParameters.Clear();
     NextSceneParameters.Set("music-already-running", true);
     NextSceneParameters.Set(TitleScene.First_Dialog_Parameter_Name, "start");
     NextSceneType = typeof(TitleScene);
     Deactivate();
 }
示例#4
0
        private void HandleAvatarSelection(string parameterName, int parameterValue)
        {
            NextSceneParameters.Set(parameterName, parameterValue);

            if ((_playerOneAvatarCarousel.SelectedAvatarSkinSlot > -1) && (_playerTwoAvatarCarousel.SelectedAvatarSkinSlot > -1))
            {
                DismissAvatarSelectors();
            }
        }
示例#5
0
 private void AwardLivesForWin()
 {
     if (Data.Profile.Lives < Data.Profile.Race_Win_Lives_Max)
     {
         Data.Profile.Lives += Data.Profile.Race_Win_Lives_Reward;
         Data.Profile.Save();
         NextSceneParameters.Set("race-lives-awarded", true);
     }
 }
示例#6
0
        private void ExitFollowingFocusLoss()
        {
            _communicator.Active = false;

            NextSceneParameters.Set(TitleScene.First_Dialog_Parameter_Name, TitleScene.Race_Aborted_Dialog);
            NextSceneType     = typeof(TitleScene);
            CrossfadeDuration = 0;
            Deactivate();
            CrossfadeDuration = Default_Crossfade_Duration;
        }
示例#7
0
        private void HandleQuitTimerActionComplete()
        {
            if (_quitRaceDialog.Active)
            {
                _quitRaceDialog.DismissWithReturnValue("");
                _communicator.Message = "";

                NextSceneParameters.Set(RaceFinishScene.Outcome_Parameter_Name, Definitions.RaceOutcome.Incomplete);
                SwitchToResultsScene();
            }
        }
示例#8
0
        private void HandleBackDialogDismiss(string buttonCaption)
        {
            NextSceneType = typeof(TitleScene);

            if (_maintainsTitleSceneMusic)
            {
                NextSceneParameters.Set("music-already-running", true);
            }

            Deactivate();
        }
 public void SubsceneDeactivationHandler(Type nextSceneType)
 {
     if (CurrentState == Status.Active)
     {
         NextSceneParameters.Set(RaceFinishScene.Outcome_Parameter_Name, RaceOutcome);
         NextSceneParameters.Set(Player_One_Avatar_Skin_Parameter, _playerOneGameplayContainer.PlayerSkinSlotIndex);
         NextSceneParameters.Set(Player_Two_Avatar_Skin_Parameter, _playerTwoGameplayContainer.PlayerSkinSlotIndex);
         NextSceneType = nextSceneType;
         Deactivate();
     }
 }
示例#10
0
        private void StartRaceForSelectedCourse(string courseName)
        {
            var areaData = (from el in Data.Profile.SimpleAreaData where el.Attribute("name").Value == courseName select el).First();

            NextSceneParameters.Set(RaceGameplayScene.Course_Area_Parameter, courseName);
            NextSceneParameters.Set(RaceGameplayScene.Course_Speed_Parameter, (int)areaData.Attribute("speed"));

            Data.Profile.DecreasePlaysToNextRatingReminder();

            NextSceneType = typeof(RaceGameplayScene);
            Deactivate();
        }
示例#11
0
        private void HandleDisconnectAcknowledge(string buttonCaption)
        {
            Definitions.RaceOutcome outcome = AllLapsCompleted ? Definitions.RaceOutcome.OwnPlayerWin : Definitions.RaceOutcome.Incomplete;

            if (outcome == Definitions.RaceOutcome.OwnPlayerWin)
            {
                AwardLivesForWin();
            }

            NextSceneParameters.Set(RaceFinishScene.Outcome_Parameter_Name, outcome);
            SwitchToResultsScene();
        }
示例#12
0
        private void HandleAreaSelectionAction(string buttonCaption)
        {
            if (buttonCaption == "Select")
            {
                var areaData = (from el in Data.Profile.SimpleAreaData where el.Attribute("name").Value == _areaCarousel.Selection select el).First();
                NextSceneParameters.Set(RaceGameplayScene.Course_Area_Parameter, _areaCarousel.Selection);
                NextSceneParameters.Set(RaceGameplayScene.Course_Speed_Parameter, (int)areaData.Attribute("speed"));

                NextSceneType = typeof(RaceGameplayScene);
            }

            _areaCarousel.DismissWithReturnValue(buttonCaption);
        }
示例#13
0
        private void HandleExitTimerActionComplete()
        {
            if (CurrentState == Status.Active)
            {
                if (_progressCoordinator.Result == Definitions.RaceOutcome.OwnPlayerWin)
                {
                    AwardLivesForWin();
                }

                NextSceneParameters.Set(RaceFinishScene.Outcome_Parameter_Name, _progressCoordinator.Result);
                SwitchToResultsScene();
            }
        }
示例#14
0
        private void HandleBackDialogDismiss(string buttonCaption)
        {
            NextSceneType = typeof(TitleScene);

            if (buttonCaption == "Rate")
            {
                NextSceneParameters.Set(TitleScene.First_Dialog_Parameter_Name, TitleScene.Rate_Game_Dialog);
            }

            NextSceneParameters.Set("music-already-running", true);

            Deactivate();
        }
        private void ExitScene()
        {
            if (_displayReminderOnExit)
            {
                NextSceneParameters.Set(TitleScene.First_Dialog_Parameter_Name, "reminder");
            }
            else
            {
                NextSceneParameters.Set(TitleScene.First_Dialog_Parameter_Name, "survival-levels");
            }

            NextSceneType = typeof(TitleScene);
            Deactivate();
        }
        private void HandleDialogClose(string selectedOption)
        {
            switch (selectedOption)
            {
            case "Continue":
                if (!_tutorialRunner.DisplayingHelp)
                {
                    _paused = false;
                }
                break;

            case "Skip Level":
                HandleLevelSkip();
                break;

            case "Quit":
                NextSceneParameters.Set(TitleScene.First_Dialog_Parameter_Name, "start");
                NextSceneParameters.Set("music-already-running", false);
                NextSceneType = typeof(TitleScene);
                Profile.PauseOnSceneActivation = false;
                Deactivate();
                break;

            case "Add Lives":
                NextSceneParameters.Set("return-to-game", true);
                NextSceneType = typeof(StoreScene);
                Deactivate();
                break;

            case "OK":
                _paused = false;
                _tutorialRunner.ClearCurrentStep();

                break;
            }
        }
 private void RefreshScene()
 {
     NextSceneParameters.Set("attempt-count", _attemptsAtCurrentLevel);
     NextSceneType = typeof(SurvivalGameplayScene);
     Deactivate();
 }
 private void ExitScene()
 {
     NextSceneParameters.Set(TitleScene.First_Dialog_Parameter_Name, "survival-levels");
     NextSceneType = typeof(TitleScene);
     Deactivate();
 }
示例#19
0
 private void ReturnToTitleScene()
 {
     NextSceneType = typeof(TitleScene);
     NextSceneParameters.Set("music-already-running", true);
     Deactivate();
 }