public void ShowLeaderboard(List <PlayerInfo> playerInfos, SongInfo song)
        {
            if (_leaderboardViewController == null)
            {
                _leaderboardViewController = BeatSaberUI.CreateViewController <LeaderboardViewController>();
                _leaderboardViewController.playNowButtonPressed += PlayNow_Pressed;
            }
            if (_roomNavigationController.viewControllers.IndexOf(_leaderboardViewController) < 0)
            {
                PushViewControllerToNavigationController(_roomNavigationController, _leaderboardViewController, null, true);
            }

            BeatmapLevelSO level = SongLoader.CustomBeatmapLevelPackCollectionSO.beatmapLevelPacks.SelectMany(x => x.beatmapLevelCollection.beatmapLevels).FirstOrDefault(x => x.levelID.StartsWith(song.levelId)) as BeatmapLevelSO;

            if (level != null)
            {
                if (level is CustomLevel)
                {
                    SongLoader.Instance.LoadAudioClipForLevel((CustomLevel)level, SongLoaded);
                }
                else
                {
                    PreviewPlayer.CrossfadeTo(level.beatmapLevelData.audioClip, level.previewStartTime, (level.beatmapLevelData.audioClip.length - level.previewStartTime), 1f);
                }
            }
            _leaderboardViewController.SetLeaderboard(playerInfos);
            _leaderboardViewController.SetSong(song);
        }
예제 #2
0
        public void ShowLeaderboard(List <PlayerInfo> playerInfos, SongInfo song)
        {
            if (_leaderboardViewController == null)
            {
                _leaderboardViewController = BeatSaberUI.CreateViewController <LeaderboardViewController>();
                _leaderboardViewController.playNowButtonPressed += PlayNow_Pressed;
            }
            if (_roomNavigationController.viewControllers.IndexOf(_leaderboardViewController) < 0)
            {
                PushViewControllerToNavigationController(_roomNavigationController, _leaderboardViewController, null, true);
            }

            IPreviewBeatmapLevel level = SongCore.Loader.CustomBeatmapLevelPackCollectionSO.beatmapLevelPacks.SelectMany(x => x.beatmapLevelCollection.beatmapLevels).FirstOrDefault(x => x.levelID.StartsWith(song.levelId));

            if (level != null)
            {
                LoadBeatmapLevelAsync(level,
                                      (status, success, beatmapLevel) =>
                {
                    PreviewPlayer.CrossfadeTo(beatmapLevel.beatmapLevelData.audioClip, beatmapLevel.previewStartTime, (beatmapLevel.beatmapLevelData.audioClip.length - beatmapLevel.previewStartTime), 1f);
                });
            }
            _leaderboardViewController.SetLeaderboard();
            _leaderboardViewController.SetSong(song);
        }
예제 #3
0
    void Initialize()
    {
        if (true) //Application.genuineCheckAvailable && Application.genuine)
        {
            FirebaseAuth_Manager.instance.Callback = this;
            FirebaseDB_Manager.instance.Callback   = this;

            // UI Changes
            ScreensStack = new ScreenBackButtonStack(objbuttonBack);
            SetScreen(DatabaseScreens.initial);
            errorUI.SetActive(false);
            successUI.SetActive(false);

            //Leaderboard Controller Instantiate
            LeaderboardController = new LeaderboardViewController(leaderboardVerticalGrid, leaderboardEntryPrefab, leaderboardEntryShowmore);

            // Authentication check
            UpdateMainUIState();

            // Debug autofill forums
            if (DEBUG)
            {
                setDefaultCredentials();
                if (DEBUG_SCREEN != DatabaseScreens.NA)
                {
                    SetScreen(DEBUG_SCREEN);
                }
            }
            Debug.Log("Started DB ScreenView");
        }
        else
        {
            //ShowError("App Not Genuine");
        }
    }