public void SearchButtonPressed()
        {
            if (_searchFlowCoordinator == null)
            {
                _searchFlowCoordinator = new GameObject("EnhancedSearchFlowCoordinator").AddComponent <SearchFlowCoordinator>();
                _searchFlowCoordinator.BackButtonPressed += DismissSearchFlowCoordinator;
                _searchFlowCoordinator.SongSelected      += SelectSongFromSearchResult;
            }

            // TODO?: toggle to search every level pack instead of just the current?
            IBeatmapLevelPack levelPack = LevelsViewController.GetPrivateField <IBeatmapLevelPack>("_levelPack");

            _searchFlowCoordinator.Activate(_freePlayFlowCoordinator, levelPack);

            Logger.log.Debug("'Search' button pressed.");
        }
Esempio n. 2
0
        public void SearchButtonPressed()
        {
            if (_searchFlowCoordinator == null)
            {
                _searchFlowCoordinator      = BeatSaberUI.CreateFlowCoordinator <SearchFlowCoordinator>();
                _searchFlowCoordinator.name = "EnhancedSearchFlowCoordinator";

                _searchFlowCoordinator.BackButtonPressed         += DismissSearchFlowCoordinator;
                _searchFlowCoordinator.SongSelected              += SelectSongFromSearchResult;
                _searchFlowCoordinator.SearchFilterButtonPressed += ApplySearchFilter;
            }

            IAnnotatedBeatmapLevelCollection levelPack;

            if (SongBrowserTweaks.Initialized)
            {
                if (SongBrowserTweaks.IsFilterApplied())
                {
                    levelPack = LevelSelectionNavigationController.GetPrivateField <IBeatmapLevelPack>("_levelPack", typeof(LevelSelectionNavigationController));
                }
                // technically, the _lastPack doesn't actually contain the pack being shown
                // (since SongBrowser always overrides the selected pack with its own pack to handle sorting/filtering)
                // but any non-filtered level pack is going to contain the same levels anyways
                // and i'll need the true level pack ID for word storage caching
                else
                {
                    levelPack = _lastPack;
                }
            }
            else if (FilterList.AnyApplied)
            {
                levelPack = _filteredLevelPack;
            }
            else
            {
                levelPack = _lastPack;
            }

            _searchFlowCoordinator.Activate(_freePlayFlowCoordinator, levelPack);

            if (!ButtonPanel.IsSingletonAvailable || !ButtonPanel.instance.Initialized)
            {
                Logger.log.Debug("'Search' button pressed.");
            }
        }
Esempio n. 3
0
        public void SearchButtonPressed()
        {
            if (_searchFlowCoordinator == null)
            {
                _searchFlowCoordinator      = BeatSaberUI.CreateFlowCoordinator <SearchFlowCoordinator>();
                _searchFlowCoordinator.name = "EnhancedSearchFlowCoordinator";

                _searchFlowCoordinator.BackButtonPressed += DismissSearchFlowCoordinator;
                _searchFlowCoordinator.SongSelected      += SelectSongFromSearchResult;
            }

            IBeatmapLevelPack levelPack = LevelSelectionNavigationController.GetPrivateField <IBeatmapLevelPack>("_levelPack");

            _searchFlowCoordinator.Activate(_freePlayFlowCoordinator, levelPack);

            if (!ButtonPanel.IsSingletonAvailable || !ButtonPanel.instance.Initialized)
            {
                Logger.log.Debug("'Search' button pressed.");
            }
        }