private void ReturnToTitleScene(string buttonCaption) { NextSceneParameters.Clear(); NextSceneParameters.Set(TitleScene.First_Dialog_Parameter_Name, "start"); NextSceneType = typeof(TitleScene); Deactivate(); }
protected override void CompleteActivation() { _firstDialog = NextSceneParameters.Get <string>(First_Dialog_Parameter_Name); if (_firstDialog == Rate_Game_Dialog) { DisplayRatingUnlockedContent(); } else if (string.IsNullOrEmpty(_firstDialog)) { _firstDialog = Default_First_Dialog; } else if ((_firstDialog == "start") && (Data.Profile.RateBuyRemindersOn)) { _firstDialog = Reminder_Dialog; } if (_firstDialog != "unlocks") { UnlockFullVersionContent(); } _titlePopup.Activate(); _doNotExitOnTitleDismiss = false; base.CompleteActivation(); }
public override void Activate() { SafeAreaOuterLimits = new Rectangle(0, 0, Definitions.IsWideScreen ? Wide_Buffer_Width : Standard_Buffer_Width, Buffer_Height); _raceStarted = false; _levelData = new Data.RaceLevelData(); RaceAreaName = NextSceneParameters.Get <string>(Race.RaceGameplayScene.Course_Area_Parameter); base.Activate(); ((PlayerMotionEngine)_player.MotionEngine).DifficultySpeedBoosterUnit = NextSceneParameters.Get <int>(Race.RaceGameplayScene.Course_Speed_Parameter); _player.ClearSkin(); _player.SkinBones(AvatarComponentManager.SideFacingAvatarSkin(PlayerSkinSlotIndex)); _player.CustomSkinSlotIndex = PlayerSkinSlotIndex; if (InputProcessor != null) { ((PlayerMotionEngine)_player.MotionEngine).InputProcessor = InputProcessor; InputProcessor.AddButtonArea(PowerUpButton.In_Game_Button_Name, _powerUpButton.Center, _powerUpButton.Radius, false); } SetCoordinatorsForRace(); SetUpOpponentAttackEffects(); ReadyToRace = false; Paused = false; }
public override void Activate() { base.Activate(); _startSequenceTimer.Reset(); ControllerPool.SetControllersToGameplayMode(); Communication.SubSceneCommunicator playerOneCommunicator = new Communication.SubSceneCommunicator(); Communication.SubSceneCommunicator playerTwoCommunicator = new Communication.SubSceneCommunicator(); playerOneCommunicator.OtherPlayerDataSource = playerTwoCommunicator; playerTwoCommunicator.OtherPlayerDataSource = playerOneCommunicator; _playerOneGameplayContainer.InputProcessor = ControllerPool.Controllers.PlayerOne; _playerOneGameplayContainer.Communicator = playerOneCommunicator; _playerOneGameplayContainer.PlayerSkinSlotIndex = NextSceneParameters.Get <int>(Player_One_Avatar_Skin_Parameter); _playerOneGameplayContainer.BufferArea = CreateDisplayArea(0); _playerOneGameplayContainer.Activate(); _playerTwoGameplayContainer.InputProcessor = ControllerPool.Controllers.PlayerTwo; _playerTwoGameplayContainer.Communicator = playerTwoCommunicator; _playerTwoGameplayContainer.PlayerSkinSlotIndex = NextSceneParameters.Get <int>(Player_Two_Avatar_Skin_Parameter); _playerTwoGameplayContainer.BufferArea = CreateDisplayArea(1); _playerTwoGameplayContainer.Activate(); _dialogContainer.BufferArea = ScaledBufferFrame; _dialogContainer.Activate(); }
private void HandleNavigationDialogDismiss(string buttonCaption) { NextSceneType = typeof(TitleScene); NextSceneParameters.Set("music-already-running", true); Deactivate(); }
public override void Activate() { base.Activate(); ((ResultsDialog)_dialogs["results"]).Outcome = NextSceneParameters.Get <Definitions.RaceOutcome>(Outcome_Parameter_Name); ((ResultsDialog)_dialogs["results"]).LivesAwarded = NextSceneParameters.Get <bool>("race-lives-awarded"); }
protected override void CompleteDeactivation() { if (!NextSceneParameters.Get <bool>("music-already-running")) { MusicManager.StopMusic(); } base.CompleteDeactivation(); }
private void ReturnToTitleScene() { NextSceneParameters.Clear(); NextSceneParameters.Set("music-already-running", true); NextSceneParameters.Set(TitleScene.First_Dialog_Parameter_Name, "start"); NextSceneType = typeof(TitleScene); Deactivate(); }
public override void Activate() { base.Activate(); ((ResultsDialog)_dialogs["results"]).Outcome = NextSceneParameters.Get <Definitions.RaceOutcome>(Outcome_Parameter_Name); ((ResultsDialog)_dialogs["results"]).PlayerOneSkinSlotIndex = NextSceneParameters.Get <int>(RaceGameplayScene.Player_One_Avatar_Skin_Parameter); ((ResultsDialog)_dialogs["results"]).PlayerTwoSkinSlotIndex = NextSceneParameters.Get <int>(RaceGameplayScene.Player_Two_Avatar_Skin_Parameter); }
private void HandleAvatarSelection(string parameterName, int parameterValue) { NextSceneParameters.Set(parameterName, parameterValue); if ((_playerOneAvatarCarousel.SelectedAvatarSkinSlot > -1) && (_playerTwoAvatarCarousel.SelectedAvatarSkinSlot > -1)) { DismissAvatarSelectors(); } }
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); } }
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; }
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(); } }
protected override void CompleteDeactivation() { ((RaceOpponentListDialog)_dialogs["opponents"]).TearDownCommunicator(); if (NextSceneParameters.Get <string>(Gameplay.Race.RaceGameplayScene.Course_Area_Parameter) != null) { MusicManager.StopMusic(); } base.CompleteDeactivation(); }
public override void Activate() { if (!NextSceneParameters.Get <bool>("music-already-running")) { MusicManager.PlayLoopedMusic("title"); } _musicToStartOnDeactivation = ""; base.Activate(); }
private void HandleQuitTimerActionComplete() { if (_quitRaceDialog.Active) { _quitRaceDialog.DismissWithReturnValue(""); _communicator.Message = ""; NextSceneParameters.Set(RaceFinishScene.Outcome_Parameter_Name, Definitions.RaceOutcome.Incomplete); SwitchToResultsScene(); } }
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(); }
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(); }
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); }
private void HandleExitTimerActionComplete() { if (CurrentState == Status.Active) { if (_progressCoordinator.Result == Definitions.RaceOutcome.OwnPlayerWin) { AwardLivesForWin(); } NextSceneParameters.Set(RaceFinishScene.Outcome_Parameter_Name, _progressCoordinator.Result); SwitchToResultsScene(); } }
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(); }
public override void Activate() { if (!NextSceneParameters.Get <bool>("button-caption")) { BackButtonCaption = "OK"; } foreach (InputProcessorBase processor in _inputProcessors) { processor.AllowDirectionalRepeat = true; } MusicManager.StopMusic(); base.Activate(); }
public override void Activate() { Profile.SyncPlayerLives(); if (_levelData != null) { ObjectsToSerialize.Remove(_levelData); } _attemptsAtCurrentLevel = NextSceneParameters.Get <int>("attempt-count"); _levelComplete = false; _rankingCoordinator.Reset(); _levelData = new SurvivalLevelData(); _levelData.AttemptsAtLevel = _attemptsAtCurrentLevel; ObjectsToSerialize.Add(_levelData); StatusDisplay.CurrentLevelData = _levelData; StatusDisplay.FreezeDisplayedScore = false; RaceAreaName = ""; base.Activate(); if (Profile.PauseOnSceneActivation) { if (!_rankingCoordinator.LevelCompleted) { if (Profile.CurrentAreaData.Name == "Tutorial") { _tutorialRunner.CheckForStepTrigger(_player.WorldPosition); } if (!_paused) { EnablePause(); } } Profile.PauseOnSceneActivation = false; } if (!RecoveredFromTombstone) { ((PlayerMotionEngine)_player.MotionEngine).DifficultySpeedBoosterUnit = Profile.CurrentAreaData.SpeedStep; _readyPopup.Activate(); } else if (_rankingCoordinator.LevelCompleted) { HandleLevelCleared(); } }
protected override void CompleteActivation() { _firstDialog = NextSceneParameters.Get <string>(First_Dialog_Parameter_Name); if (string.IsNullOrEmpty(_firstDialog)) { _firstDialog = Default_First_Dialog; } if (!Definitions.Simulate_Trial_Mode) { UnlockFullVersionContent(); } _titlePopup.Activate(); base.CompleteActivation(); }
public override void Activate() { _returnToGame = NextSceneParameters.Get <bool>("return-to-game"); Type[] types = Assembly.GetExecutingAssembly().GetTypes(); List <string> providers = new List <string>(); Dictionary <string, string> lookups = new Dictionary <string, string>(); foreach (Type t in types) { PropertyInfo pi = t.GetProperty(Bopscotch.Definitions.KeyChain, BindingFlags.NonPublic | BindingFlags.Static); if (pi != null) { providers.Add(t.FullName); lookups.Add(t.FullName, pi.GetValue(null).ToString()); } } providers = providers.OrderBy(x => x.LastIndexOf('.')).ToList(); string sk = ""; foreach (string p in providers) { sk = sk + lookups[p]; } _connection = new InAppBillingServiceConnection(Bopscotch.Game1.Activity, sk); _connection.OnConnected += LoadProducts; MainActivity.BillingServiceConnection = _connection; base.Activate(); MusicManager.StopMusic(); ActivateDialog("loading-store"); }
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; } }
public override void Activate() { _raceStarted = false; _levelData = new RaceLevelData(); RaceAreaName = NextSceneParameters.Get <string>(Course_Area_Parameter); base.Activate(); if (RecoveredFromTombstone) { ExitFollowingFocusLoss(); } else { _player.PlayerEventCallback = HandlePlayerEvent; ((PlayerMotionEngine)_player.MotionEngine).DifficultySpeedBoosterUnit = NextSceneParameters.Get <int>(Course_Speed_Parameter); //_opponentMarker.SetForRaceStart(_player.WorldPosition, _player.Mirror); SetCoordinatorsForRace(NextSceneParameters.Get <string>(Course_Area_Parameter)); SetUpOpponentAttackEffects(); _waitingMessage.Activate(); } }
protected virtual void CompleteActivation() { NextSceneParameters.Clear(); CurrentState = Status.Active; }