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