private void ToggleSongOptions(ESongOptionsView view) { _SongOptionsActive = view != ESongOptionsView.None; if (_SongOptionsActive) { if (view == ESongOptionsView.Song) { EGameMode LastMode = EGameMode.TR_GAMEMODE_NORMAL; if (_AvailableGameModes.Count > 0) LastMode = _AvailableGameModes[SelectSlides[htSelectSlides(SelectSlideOptionsMode)].Selection]; SetInteractionToButton(Buttons[htButtons(ButtonOptionsSing)]); _AvailableGameModes.Clear(); SelectSlides[htSelectSlides(SelectSlideOptionsMode)].Clear(); if (!CSongs.VisibleSongs[SongMenus[htSongMenus(SongMenu)].GetSelectedSong()].IsDuet) { SelectSlides[htSelectSlides(SelectSlideOptionsMode)].AddValue(Enum.GetName(typeof(GameModes.EGameMode), GameModes.EGameMode.TR_GAMEMODE_NORMAL)); _AvailableGameModes.Add(GameModes.EGameMode.TR_GAMEMODE_NORMAL); SelectSlides[htSelectSlides(SelectSlideOptionsMode)].AddValue(Enum.GetName(typeof(GameModes.EGameMode), GameModes.EGameMode.TR_GAMEMODE_SHORTSONG)); _AvailableGameModes.Add(GameModes.EGameMode.TR_GAMEMODE_SHORTSONG); } if (CSongs.VisibleSongs[SongMenus[htSongMenus(SongMenu)].GetSelectedSong()].IsDuet) { SelectSlides[htSelectSlides(SelectSlideOptionsMode)].AddValue(Enum.GetName(typeof(GameModes.EGameMode), GameModes.EGameMode.TR_GAMEMODE_DUET)); _AvailableGameModes.Add(GameModes.EGameMode.TR_GAMEMODE_DUET); } if (CSongs.VisibleSongs[SongMenus[htSongMenus(SongMenu)].GetSelectedSong()].Medley.Source != EMedleySource.None) { SelectSlides[htSelectSlides(SelectSlideOptionsMode)].AddValue(Enum.GetName(typeof(GameModes.EGameMode), GameModes.EGameMode.TR_GAMEMODE_MEDLEY)); _AvailableGameModes.Add(GameModes.EGameMode.TR_GAMEMODE_MEDLEY); } //Set SelectSlide-Selection to last selected game-mode if possible for (int i = 0; i < _AvailableGameModes.Count; i++) { if (_AvailableGameModes[i] == LastMode) SelectSlides[htSelectSlides(SelectSlideOptionsMode)].SetSelectionByValueIndex(i); } SelectSlides[htSelectSlides(SelectSlideOptionsMode)].Visible = true; SelectSlides[htSelectSlides(SelectSlideOptionsPlaylistAdd)].Visible = true; Buttons[htButtons(ButtonOptionsSing)].Visible = true; Buttons[htButtons(ButtonOptionsPlaylist)].Visible = true; } else if (view == ESongOptionsView.General) { Buttons[htButtons(ButtonOptionsRandom)].Visible = CSongs.Category != -1; Buttons[htButtons(ButtonOptionsRandomCategory)].Visible = CSongs.Category == -1; Buttons[htButtons(ButtonOptionsSingAll)].Visible = true; Buttons[htButtons(ButtonOptionsSingAllVisible)].Visible = CSongs.Category != -1; if (SelectSlides[htSelectSlides(SelectSlideOptionsPlaylistOpen)].NumValues > 0) { Buttons[htButtons(ButtonOptionsOpenPlaylist)].Visible = true; SelectSlides[htSelectSlides(SelectSlideOptionsPlaylistOpen)].Visible = true; SetInteractionToButton(Buttons[htButtons(ButtonOptionsOpenPlaylist)]); } else { Buttons[htButtons(ButtonOptionsOpenPlaylist)].Visible = false; SelectSlides[htSelectSlides(SelectSlideOptionsPlaylistOpen)].Visible = false; if (Buttons[htButtons(ButtonOptionsRandom)].Visible) SetInteractionToButton(Buttons[htButtons(ButtonOptionsRandom)]); else SetInteractionToButton(Buttons[htButtons(ButtonOptionsSingAll)]); } } Buttons[htButtons(ButtonOptionsClose)].Visible = true; Texts[htTexts(TextOptionsTitle)].Visible = true; Statics[htStatics(StaticOptionsBG)].Visible = true; Buttons[htButtons(ButtonOpenOptions)].Visible = false; } else { SelectSlides[htSelectSlides(SelectSlideOptionsMode)].Visible = false; SelectSlides[htSelectSlides(SelectSlideOptionsPlaylistAdd)].Visible = false; SelectSlides[htSelectSlides(SelectSlideOptionsPlaylistOpen)].Visible = false; Buttons[htButtons(ButtonOptionsClose)].Visible = false; Buttons[htButtons(ButtonOptionsSing)].Visible = false; Buttons[htButtons(ButtonOptionsPlaylist)].Visible = false; Buttons[htButtons(ButtonOptionsRandom)].Visible = false; Buttons[htButtons(ButtonOptionsRandomCategory)].Visible = false; Buttons[htButtons(ButtonOptionsSingAll)].Visible = false; Buttons[htButtons(ButtonOptionsSingAllVisible)].Visible = false; Buttons[htButtons(ButtonOptionsOpenPlaylist)].Visible = false; Buttons[htButtons(ButtonOpenOptions)].Visible = true; Texts[htTexts(TextOptionsTitle)].Visible = false; Statics[htStatics(StaticOptionsBG)].Visible = false; } }
private void ToggleSongOptions(ESongOptionsView view) { _SongOptionsActive = view != ESongOptionsView.None; if (_SongOptionsActive) { if (view == ESongOptionsView.Song) { EGameMode LastMode = EGameMode.TR_GAMEMODE_NORMAL; if (_AvailableGameModes.Count > 0) { LastMode = _AvailableGameModes[SelectSlides[htSelectSlides(SelectSlideOptionsMode)].Selection]; } SetInteractionToButton(Buttons[htButtons(ButtonOptionsSing)]); _AvailableGameModes.Clear(); SelectSlides[htSelectSlides(SelectSlideOptionsMode)].Clear(); if (!CSongs.VisibleSongs[SongMenus[htSongMenus(SongMenu)].GetSelectedSong()].IsDuet) { SelectSlides[htSelectSlides(SelectSlideOptionsMode)].AddValue(Enum.GetName(typeof(GameModes.EGameMode), GameModes.EGameMode.TR_GAMEMODE_NORMAL)); _AvailableGameModes.Add(GameModes.EGameMode.TR_GAMEMODE_NORMAL); SelectSlides[htSelectSlides(SelectSlideOptionsMode)].AddValue(Enum.GetName(typeof(GameModes.EGameMode), GameModes.EGameMode.TR_GAMEMODE_SHORTSONG)); _AvailableGameModes.Add(GameModes.EGameMode.TR_GAMEMODE_SHORTSONG); } if (CSongs.VisibleSongs[SongMenus[htSongMenus(SongMenu)].GetSelectedSong()].IsDuet) { SelectSlides[htSelectSlides(SelectSlideOptionsMode)].AddValue(Enum.GetName(typeof(GameModes.EGameMode), GameModes.EGameMode.TR_GAMEMODE_DUET)); _AvailableGameModes.Add(GameModes.EGameMode.TR_GAMEMODE_DUET); } if (CSongs.VisibleSongs[SongMenus[htSongMenus(SongMenu)].GetSelectedSong()].Medley.Source != EMedleySource.None) { SelectSlides[htSelectSlides(SelectSlideOptionsMode)].AddValue(Enum.GetName(typeof(GameModes.EGameMode), GameModes.EGameMode.TR_GAMEMODE_MEDLEY)); _AvailableGameModes.Add(GameModes.EGameMode.TR_GAMEMODE_MEDLEY); } //Set SelectSlide-Selection to last selected game-mode if possible for (int i = 0; i < _AvailableGameModes.Count; i++) { if (_AvailableGameModes[i] == LastMode) { SelectSlides[htSelectSlides(SelectSlideOptionsMode)].SetSelectionByValueIndex(i); } } SelectSlides[htSelectSlides(SelectSlideOptionsMode)].Visible = true; SelectSlides[htSelectSlides(SelectSlideOptionsPlaylistAdd)].Visible = true; Buttons[htButtons(ButtonOptionsSing)].Visible = true; Buttons[htButtons(ButtonOptionsPlaylist)].Visible = true; } else if (view == ESongOptionsView.General) { Buttons[htButtons(ButtonOptionsRandom)].Visible = CSongs.Category != -1; Buttons[htButtons(ButtonOptionsRandomCategory)].Visible = CSongs.Category == -1; Buttons[htButtons(ButtonOptionsSingAll)].Visible = true; Buttons[htButtons(ButtonOptionsSingAllVisible)].Visible = CSongs.Category != -1; if (SelectSlides[htSelectSlides(SelectSlideOptionsPlaylistOpen)].NumValues > 0) { Buttons[htButtons(ButtonOptionsOpenPlaylist)].Visible = true; SelectSlides[htSelectSlides(SelectSlideOptionsPlaylistOpen)].Visible = true; SetInteractionToButton(Buttons[htButtons(ButtonOptionsOpenPlaylist)]); } else { Buttons[htButtons(ButtonOptionsOpenPlaylist)].Visible = false; SelectSlides[htSelectSlides(SelectSlideOptionsPlaylistOpen)].Visible = false; if (Buttons[htButtons(ButtonOptionsRandom)].Visible) { SetInteractionToButton(Buttons[htButtons(ButtonOptionsRandom)]); } else { SetInteractionToButton(Buttons[htButtons(ButtonOptionsSingAll)]); } } } Buttons[htButtons(ButtonOptionsClose)].Visible = true; Texts[htTexts(TextOptionsTitle)].Visible = true; Statics[htStatics(StaticOptionsBG)].Visible = true; Buttons[htButtons(ButtonOpenOptions)].Visible = false; } else { SelectSlides[htSelectSlides(SelectSlideOptionsMode)].Visible = false; SelectSlides[htSelectSlides(SelectSlideOptionsPlaylistAdd)].Visible = false; SelectSlides[htSelectSlides(SelectSlideOptionsPlaylistOpen)].Visible = false; Buttons[htButtons(ButtonOptionsClose)].Visible = false; Buttons[htButtons(ButtonOptionsSing)].Visible = false; Buttons[htButtons(ButtonOptionsPlaylist)].Visible = false; Buttons[htButtons(ButtonOptionsRandom)].Visible = false; Buttons[htButtons(ButtonOptionsRandomCategory)].Visible = false; Buttons[htButtons(ButtonOptionsSingAll)].Visible = false; Buttons[htButtons(ButtonOptionsSingAllVisible)].Visible = false; Buttons[htButtons(ButtonOptionsOpenPlaylist)].Visible = false; Buttons[htButtons(ButtonOpenOptions)].Visible = true; Texts[htTexts(TextOptionsTitle)].Visible = false; Statics[htStatics(StaticOptionsBG)].Visible = false; } }