void Start() { SongMetaManager.Instance.ScanFilesIfNotDoneYet(); // Give the song search some time, otherwise the "no songs found" label flickers once. if (!SongMetaManager.IsSongScanFinished) { Thread.Sleep(100); } sceneData = SceneNavigator.Instance.GetSceneData(CreateDefaultSceneData()); searchTextInputField = GameObjectUtils.FindObjectOfType <SearchInputField>(true); GetSongMetasFromManager(); songRouletteController.SelectionClickedEventStream .Subscribe(selection => CheckAudioAndStartSingScene()); statsManager = StatsManager.Instance.Statistics; InitSongRoulette(); // Show a message when no songs have been found. noSongsFoundMessage.SetActive(songMetas.IsNullOrEmpty()); }
public void FinishScene() { SongSelectSceneData songSelectSceneData = new SongSelectSceneData(); songSelectSceneData.SongMeta = sceneData.SongMeta; sceneNavigator.LoadScene(EScene.SongSelectScene, songSelectSceneData); }
public void ContinueToSongSelectScene() { SongSelectSceneData songSelectSceneData; if (sceneData.PreviousSceneData is SongSelectSceneData) { songSelectSceneData = sceneData.PreviousSceneData as SongSelectSceneData; } else { songSelectSceneData = new SongSelectSceneData(); songSelectSceneData.SongMeta = sceneData.SelectedSongMeta; } SceneNavigator.Instance.LoadScene(EScene.SongSelectScene, songSelectSceneData); }
void Start() { sceneData = SceneNavigator.Instance.GetSceneData(CreateDefaultSceneData()); searchTextInputField = GameObjectUtils.FindObjectOfType <SearchInputField>(true); songMetas = SongMetaManager.Instance.SongMetas; List <PlayerProfile> playerProfiles = SettingsManager.Instance.Settings.PlayerProfiles; songRouletteController = FindObjectOfType <SongRouletteController>(); songRouletteController.SongSelectSceneController = this; InitSongRoulette(); // Show a message when no songs have been found. noSongsFoundMessage.SetActive(songMetas.IsNullOrEmpty()); }
public void FinishScene() { if (statistics.HasHighscore(sceneData.SongMeta)) { // Go to highscore scene HighscoreSceneData highscoreSceneData = new HighscoreSceneData(); highscoreSceneData.SongMeta = sceneData.SongMeta; highscoreSceneData.Difficulty = sceneData.PlayerProfiles.FirstOrDefault().Difficulty; SceneNavigator.Instance.LoadScene(EScene.HighscoreScene, highscoreSceneData); } else { // No highscores to show, thus go to song select scene SongSelectSceneData songSelectSceneData = new SongSelectSceneData(); songSelectSceneData.SongMeta = sceneData.SongMeta; SceneNavigator.Instance.LoadScene(EScene.SongSelectScene, songSelectSceneData); } }
void Start() { sceneData = SceneNavigator.Instance.GetSceneData(CreateDefaultSceneData()); searchTextInputField = GameObjectUtils.FindObjectOfType <SearchInputField>(true); songMetas = SongMetaManager.Instance.SongMetas; List <PlayerProfile> playerProfiles = PlayerProfileManager.Instance.PlayerProfiles; PopulatePlayerProfileList(playerProfiles); songRouletteController = FindObjectOfType <SongRouletteController>(); songRouletteController.SongSelectSceneController = this; songRouletteController.SetSongs(songMetas); if (sceneData.SongMeta != null) { songRouletteController.SelectSong(sceneData.SongMeta); } }
private SongSelectSceneData CreateDefaultSceneData() { SongSelectSceneData sceneData = new SongSelectSceneData(); return(sceneData); }
private void Start() { SongMetaManager.Instance.ScanFilesIfNotDoneYet(); // Give the song search some time, otherwise the "no songs found" label flickers once. if (!SongMetaManager.IsSongScanFinished) { Thread.Sleep(100); } sceneData = SceneNavigator.Instance.GetSceneData(CreateDefaultSceneData()); InitSongMetas(); HidePlayerSelectOverlay(); HideMenuOverlay(); HideSongDetailOverlay(); SongOrderPickerControl = new SongOrderPickerControl(songOrderItemPicker); // Register Callbacks toggleFavoriteButton.RegisterCallbackButtonTriggered(() => ToggleSelectedSongIsFavorite()); closePlayerSelectOverlayButton.RegisterCallbackButtonTriggered(() => HidePlayerSelectOverlay()); fuzzySearchTextLabel.ShowByDisplay(); songSelectSceneInputControl.FuzzySearchText .Subscribe(newValue => fuzzySearchTextLabel.text = newValue); startButton.RegisterCallbackButtonTriggered(() => CheckAudioAndStartSingScene()); menuButton.RegisterCallbackButtonTriggered(() => ShowMenuOverlay()); closeMenuOverlayButton.RegisterCallbackButtonTriggered(() => HideMenuOverlay()); backToMainMenuButton.RegisterCallbackButtonTriggered(() => sceneNavigator.LoadScene(EScene.MainScene)); toggleSongDetailOverlayButton.RegisterCallbackButtonTriggered(() => { if (IsSongDetailOverlayVisible) { HideSongDetailOverlay(); } else { ShowSongDetailOverlay(); } }); nextSongButton.RegisterCallbackButtonTriggered(() => songRouletteControl.SelectNextSong()); previousSongButton.RegisterCallbackButtonTriggered(() => songRouletteControl.SelectPreviousSong()); UpdateNextAndPreviousSongButtonLabels(); inputManager.InputDeviceChangeEventStream.Subscribe(evt => UpdateNextAndPreviousSongButtonLabels()); songIndexButton.RegisterCallbackButtonTriggered(() => songSearchControl.SetSearchText($"#{SelectedSongIndex + 1}")); SongSearchControl.SearchChangedEventStream.Subscribe(_ => OnSearchTextChanged()); PlaylistChooserControl.Selection.Subscribe(_ => UpdateFilteredSongs()); SongOrderPickerControl.Selection.Subscribe(newValue => { settings.SongSelectSettings.songOrder = newValue; characterQuickJumpListControl.UpdateCharacters(); UpdateFilteredSongs(); }); playlistManager.PlaylistChangeEventStream.Subscribe(playlistChangeEvent => { if (playlistChangeEvent.Playlist == PlaylistChooserControl.Selection.Value) { UpdateFilteredSongs(); } UpdateFavoriteIcon(); }); InitSongRouletteSongMetas(); songRouletteControl.SelectionClickedEventStream .Subscribe(_ => CheckAudioAndStartSingScene()); UpdateInputLegend(); inputManager.InputDeviceChangeEventStream.Subscribe(_ => UpdateInputLegend()); focusableNavigator.FocusSongRoulette(); songAudioPlayer.AudioClipLoadedEventStream .Subscribe(_ => UpdateSongDurationLabel(songAudioPlayer.DurationOfSongInMillis)); }