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."); }
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."); } }
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."); } }