コード例 #1
0
        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.");
        }
コード例 #2
0
        private void SelectSongFromSearchResult(IPreviewBeatmapLevel level)
        {
            Logger.log.Debug($"Level selected from search: {level.songName} - {level.songSubName}");
            DismissSearchFlowCoordinator();

            IPreviewBeatmapLevel[] levels = LevelsViewController.GetPrivateField <IBeatmapLevelPack>("_levelPack").beatmapLevelCollection.beatmapLevels;

            int row = Array.IndexOf(levels, level);

            if (row >= 0)
            {
                if (_levelsTableViewContainer.GetPrivateField <bool>("_showLevelPackHeader"))
                {
                    ++row;
                }

                _levelsTableView.ScrollToCellWithIdx(row, TableViewScroller.ScrollPositionType.Beginning, false);
                _levelsTableView.SelectCellWithIdx(row);
            }

            LevelsViewController.HandleLevelPackLevelsTableViewDidSelectLevel(null, level);
        }