コード例 #1
0
    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??)
    }
コード例 #2
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);
        }
コード例 #3
0
        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;
        }
コード例 #4
0
 public static void MarkPlayerReachedEnding(EndingTypes endingType)
 {
     Data.EndingType      = endingType;
     Data.TimesCompleted += 1;
 }