コード例 #1
0
        private void OpenAndAddPlaylistAction()
        {
            //Open an existing playlist and add song
            if (Playlists[htPlaylists(Playlist)].ActivePlaylistID != (SelectSlides[htSelectSlides(SelectSlideOptionsPlaylistAdd)].Selection - 1) && (SelectSlides[htSelectSlides(SelectSlideOptionsPlaylistAdd)].Selection - 1) != -1)
            {
                //Check selected game-mode
                EGameMode gm;
                if (_AvailableGameModes.Count >= SelectSlides[htSelectSlides(SelectSlideOptionsMode)].Selection)
                {
                    gm = _AvailableGameModes[SelectSlides[htSelectSlides(SelectSlideOptionsMode)].Selection];
                }
                else
                if (CSongs.VisibleSongs[SongMenus[htSongMenus(SongMenu)].GetSelectedSong()].IsDuet)
                {
                    gm = GameModes.EGameMode.TR_GAMEMODE_DUET;
                }
                else
                {
                    gm = GameModes.EGameMode.TR_GAMEMODE_NORMAL;
                }

                //Check if Playlist really exists
                if (SelectSlides[htSelectSlides(SelectSlideOptionsPlaylistAdd)].Selection - 1 >= 0)
                {
                    Playlists[htPlaylists(Playlist)].ActivePlaylistID = SelectSlides[htSelectSlides(SelectSlideOptionsPlaylistAdd)].Selection - 1;

                    //Add song to playlist
                    CPlaylists.Playlists[Playlists[htPlaylists(Playlist)].ActivePlaylistID].AddSong(CSongs.VisibleSongs[SongMenus[htSongMenus(SongMenu)].GetSelectedSong()].ID, gm);

                    //Open playlist
                    OpenPlaylist(Playlists[htPlaylists(Playlist)].ActivePlaylistID);

                    SetSelectSlidePlaylistToCurrentPlaylist();
                    Playlists[htPlaylists(Playlist)].ScrollToBottom();
                }
            }
            //Create a new playlist and add song
            else if ((SelectSlides[htSelectSlides(SelectSlideOptionsPlaylistAdd)].Selection - 1) == -1)
            {
                //Check selected game-mode
                EGameMode gm;
                if (_AvailableGameModes.Count >= SelectSlides[htSelectSlides(SelectSlideOptionsMode)].Selection)
                {
                    gm = _AvailableGameModes[SelectSlides[htSelectSlides(SelectSlideOptionsMode)].Selection];
                }
                else
                if (CSongs.VisibleSongs[SongMenus[htSongMenus(SongMenu)].GetSelectedSong()].IsDuet)
                {
                    gm = GameModes.EGameMode.TR_GAMEMODE_DUET;
                }
                else
                {
                    gm = GameModes.EGameMode.TR_GAMEMODE_NORMAL;
                }

                //Create new playlist
                Playlists[htPlaylists(Playlist)].ActivePlaylistID = CPlaylists.NewPlaylist();

                //Add song to playlist
                CPlaylists.Playlists[Playlists[htPlaylists(Playlist)].ActivePlaylistID].AddSong(CSongs.VisibleSongs[SongMenus[htSongMenus(SongMenu)].GetSelectedSong()].ID, gm);

                //Open playlist
                OpenPlaylist(Playlists[htPlaylists(Playlist)].ActivePlaylistID);

                //Add new playlist to select-slide
                SelectSlides[htSelectSlides(SelectSlideOptionsPlaylistAdd)].AddValue(CPlaylists.Playlists[Playlists[htPlaylists(Playlist)].ActivePlaylistID].PlaylistName);
                SelectSlides[htSelectSlides(SelectSlideOptionsPlaylistOpen)].AddValue(CPlaylists.Playlists[Playlists[htPlaylists(Playlist)].ActivePlaylistID].PlaylistName);

                SetSelectSlidePlaylistToCurrentPlaylist();
            }
            //Add song to loaded playlist
            else
            {
                //Check selected game-mode
                EGameMode gm;
                if (_AvailableGameModes.Count >= SelectSlides[htSelectSlides(SelectSlideOptionsMode)].Selection)
                {
                    gm = _AvailableGameModes[SelectSlides[htSelectSlides(SelectSlideOptionsMode)].Selection];
                }
                else
                if (CSongs.VisibleSongs[SongMenus[htSongMenus(SongMenu)].GetSelectedSong()].IsDuet)
                {
                    gm = GameModes.EGameMode.TR_GAMEMODE_DUET;
                }
                else
                {
                    gm = GameModes.EGameMode.TR_GAMEMODE_NORMAL;
                }
                CPlaylists.Playlists[Playlists[htPlaylists(Playlist)].ActivePlaylistID].AddSong(CSongs.VisibleSongs[SongMenus[htSongMenus(SongMenu)].GetSelectedSong()].ID, gm);
                Playlists[htPlaylists(Playlist)].UpdatePlaylist();
                Playlists[htPlaylists(Playlist)].ScrollToBottom();
            }
        }