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; }