public void PlayGameEnding(EndingTypes ending, Transform targetTransitionTransform, float cameraTransitionTime, float timeScale, Vector3 cameraEndPosition) { delayTime = cameraTransitionTime; endingType = ending; playGameEnding = true; cameraBehaviour.CameraEndTransition(targetTransitionTransform, cameraTransitionTime, cameraEndPosition); timeManager.SetTimeScaleAndDuration(timeScale, cameraTransitionTime, TimeManager.ScaleTimeTypes.Flat); float audioTransitionTime = (cameraTransitionTime > 0.5f) ? 0.5f : cameraTransitionTime; switch (endingType) { case EndingTypes.Victory: musicAmbientController.SetMusicType(MusicAmbientController.MusicTypes.Victory, audioTransitionTime, cameraTransitionTime); break; case EndingTypes.Defeat: musicAmbientController.SetMusicType(MusicAmbientController.MusicTypes.Defeat, audioTransitionTime, cameraTransitionTime); break; default: break; } //if (endingType == EndingTypes.Defeat) screen en blanco i negro (afectara al texto??) }
public static void SendGameCompleteEvent(EndingTypes endingResult) { var gameResults = new { EndingType = endingResult.ToString(), TimesGameCompleted = PlayerDataManager.TilesGameCompleted, TotalPlayTimeInSeconds = PlayerDataManager.TotalPlayTimeInSeconds, TotalWavesSent = PlayerDataManager.TotalWavesSent, TotalEnemiesKilled = PlayerDataManager.TotalEnemiesKilled, GameLaunchCount = PlayerDataManager.GameLaunchCount, DialogueResponseCount = PlayerDataManager.TotalResponseCount, PositiveResponsePercent = PlayerDataManager.PositiveDialoguePercent, NegativeResponsePercent = PlayerDataManager.NegativeDialoguePercent, NeutralResponsePercent = PlayerDataManager.NeutralDialoguePercent, SilenceResponsePercent = PlayerDataManager.SilentDialoguePercent, }; AddDeferredEvent("GameCompleted", gameResults); }
void CustomInitialize() { #if WINDOWS || DESKTOP_GL FlatRedBallServices.IsWindowsCursorVisible = true; #endif GameStateManager.LoadIfNecessary(); endingReached = PlayerDataManager.PlayerEndingReached; EndingTextContainer.EndingTextText = EndingText[endingReached.ToString()].EndingWords; switch (endingReached) { case EndingTypes.None: break; case EndingTypes.Positive: SoundManager.PlaySong(GlobalContent.Brallit_Robotic_Chaotic, true, true); EndingScreenGumInstance.CurrentEndingsState = EndingScreenGumRuntime.Endings.Positive; break; case EndingTypes.Neutral: SoundManager.PlaySong(GlobalContent.anttisinstrumentals_glitchthis, true, true); EndingScreenGumInstance.CurrentEndingsState = EndingScreenGumRuntime.Endings.Neutral; break; case EndingTypes.Negative: SoundManager.PlaySong(GlobalContent.Brallit_One_Accord, true, true); EndingScreenGumInstance.CurrentEndingsState = EndingScreenGumRuntime.Endings.Negative; break; case EndingTypes.Silent: SoundManager.PlaySong(GlobalContent.Brallit_One_Accord, true, true); EndingScreenGumInstance.CurrentEndingsState = EndingScreenGumRuntime.Endings.Negative; break; default: throw new ArgumentOutOfRangeException(); } ButtonInstance.Click += HandleButtonClick; EndingScreenGumInstance.CurrentFadingState = EndingScreenGumRuntime.Fading.Faded; }
public static void MarkPlayerReachedEnding(EndingTypes endingType) { Data.EndingType = endingType; Data.TimesCompleted += 1; }