public void SongFinished(StandardLevelScenesTransitionSetupDataSO standardLevelScenesTransitionSetupData, LevelCompletionResults results) { standardLevelScenesTransitionSetupData.didFinishEvent -= SongFinished; var map = (standardLevelScenesTransitionSetupData.sceneSetupDataArray.First(x => x is GameplayCoreSceneSetupData) as GameplayCoreSceneSetupData).difficultyBeatmap; var localPlayer = _playerDataModel.playerData; var localResults = localPlayer.GetPlayerLevelStatsData(map.level.levelID, map.difficulty, map.parentDifficultyBeatmapSet.beatmapCharacteristic); var highScore = localResults.highScore < results.modifiedScore; if (results.levelEndAction == LevelCompletionResults.LevelEndAction.Restart) { songDetail_didPressPlayButtonEvent(_lastPlayedBeatmapLevel, _lastPlayedCharacteristic, _lastPlayedDifficulty); } else if (results.levelEndStateType != LevelCompletionResults.LevelEndStateType.None) { if (results.levelEndStateType == LevelCompletionResults.LevelEndStateType.Cleared) { PlayerUtils.GetPlatformUserData((username, userId) => SubmitScoreWhenResolved(username, userId, results)); _menuLightsManager.SetColorPreset(_scoreLights, true); _resultsViewController.Init(results, map, false, highScore); _resultsViewController.continueButtonPressedEvent += resultsViewController_continueButtonPressedEvent; _resultsViewController.restartButtonPressedEvent += resultsViewController_restartButtonPressedEvent; } else if (results.levelEndStateType == LevelCompletionResults.LevelEndStateType.Failed) { _menuLightsManager.SetColorPreset(_redLights, true); _resultsViewController.Init(results, map, false, highScore); _resultsViewController.continueButtonPressedEvent += resultsViewController_continueButtonPressedEvent; _resultsViewController.restartButtonPressedEvent += resultsViewController_restartButtonPressedEvent; } PresentViewController(_resultsViewController, immediately: true); } }
private void songSelection_SongSelected(GameplayParameters parameters) { _currentParameters = parameters; SongUtils.LoadSong(parameters.Beatmap.LevelId, (loadedLevel) => { PresentViewController(_songDetail, () => { _songDetail.SetSelectedSong(loadedLevel); _songDetail.SetSelectedDifficulty((int)parameters.Beatmap.Difficulty); _songDetail.SetSelectedCharacteristic(parameters.Beatmap.Characteristic.SerializedName); if (_globalLeaderboard == null) { _globalLeaderboard = Resources.FindObjectsOfTypeAll <PlatformLeaderboardViewController>().First(); _globalLeaderboard.name = "Global Leaderboard"; } _globalLeaderboard.SetData(SongUtils.GetClosestDifficultyPreferLower(loadedLevel, (BeatmapDifficulty)(int)parameters.Beatmap.Difficulty, parameters.Beatmap.Characteristic.SerializedName)); SetRightScreenViewController(_globalLeaderboard, ViewController.AnimationType.In); _customLeaderboard = BeatSaberUI.CreateViewController <CustomLeaderboard>(); PlayerUtils.GetPlatformUserData(RequestLeaderboardWhenResolved); SetLeftScreenViewController(_customLeaderboard, ViewController.AnimationType.In); }); }); }
protected override void TransitionDidFinish() { base.TransitionDidFinish(); if (ScrapedInfo == null) { PlayerUtils.GetPlatformUserData(OnUserDataResolved); } }
protected override void DidActivate(bool firstActivation, ActivationType activationType) { if (activationType == ActivationType.AddedToHierarchy) { _ongoingGameList = BeatSaberUI.CreateViewController <OngoingGameList>(); PlayerUtils.GetPlatformUserData(OnUserDataResolved); } }
protected override void TransitionDidFinish() { base.TransitionDidFinish(); if (!_didAttemptConnectionYet) { _didAttemptConnectionYet = true; PlayerUtils.GetPlatformUserData(OnUserDataResolved); } }
private void BSEvents_levelCleared(StandardLevelScenesTransitionSetupDataSO arg1, LevelCompletionResults results) { PlayerUtils.GetPlatformUserData((username, userId) => CreateAndBackupScore(username, userId, arg1, results)); }