Exemple #1
0
        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;
        }