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