private void _UpdateSlides() { int player = _PartyMode.GameData.NumPlayer; int mics = _PartyMode.GameData.NumPlayerAtOnce; _PartyMode.GameData.NumPlayer = _SelectSlides[_SelectSlideNumPlayers].Selection + _PartyMode.MinPlayers; _PartyMode.GameData.NumPlayerAtOnce = _SelectSlides[_SelectSlideNumMics].Selection + _PartyMode.MinPlayers; _PartyMode.GameData.NumRounds = (_SelectSlides[_SelectSlideNumRounds].Selection + 1) * _RoundSteps; _PartyMode.GameData.NumJokers = _SelectSlides[_SelectSlideNumJokers].Selection + 1; _PartyMode.GameData.RefillJokers = (_SelectSlides[_SelectSlideRefillJokers].Selection == 1) ? true : false; _UpdateMicsAtOnce(); _SetRoundSteps(); if (player != _PartyMode.GameData.NumPlayer || mics != _PartyMode.GameData.NumPlayerAtOnce) { int num = CHelper.CombinationCount(_PartyMode.GameData.NumPlayer, _PartyMode.GameData.NumPlayerAtOnce); while (num > _MaxNumRounds) { num -= _RoundSteps; } _PartyMode.GameData.NumRounds = num; } _UpdateSlideRounds(); }
private void _UpdateSlides() { int player = _PartyMode.GameData.NumPlayer; int mics = _PartyMode.GameData.NumPlayerAtOnce; _PartyMode.GameData.NumPlayer = _SelectSlides[_SelectSlideNumPlayers].Selection + _PartyMode.MinPlayers; _PartyMode.GameData.NumPlayerAtOnce = _SelectSlides[_SelectSlideNumMics].Selection + _PartyMode.MinPlayers; _PartyMode.GameData.NumRounds = (_SelectSlides[_SelectSlideNumRounds].Selection + 1) * _RoundSteps; _PartyMode.GameData.NumSongs = _SelectSlides[_SelectSlideNumSongs].Selection + _PartyMode.MinSongs; _PartyMode.GameData.SongSource = (ESongSource)_SelectSlides[_SelectSlideSongSource].Selection; _PartyMode.GameData.PlaylistID = _SelectSlides[_SelectSlidePlaylist].Selection; _PartyMode.GameData.CategoryIndex = _SelectSlides[_SelectSlideCategory].Selection; _UpdateMicsAtOnce(); _SetRoundSteps(); if (player != _PartyMode.GameData.NumPlayer || mics != _PartyMode.GameData.NumPlayerAtOnce) { int num = CHelper.CombinationCount(_PartyMode.GameData.NumPlayer, _PartyMode.GameData.NumPlayerAtOnce); while (num > _MaxNumRounds) { num -= _RoundSteps; } _PartyMode.GameData.NumRounds = num; } if (_PartyMode.GameData.SongSource == ESongSource.TR_PLAYLIST) { if (CBase.Playlist.GetNumPlaylists() > 0) { if (CBase.Playlist.GetSongCount(_PartyMode.GameData.PlaylistID) > 0) { _ConfigOk = false; for (int i = 0; i < CBase.Playlist.GetSongCount(_PartyMode.GameData.PlaylistID); i++) { int id = CBase.Playlist.GetSong(_PartyMode.GameData.PlaylistID, i).SongID; _ConfigOk = CBase.Songs.GetSongByID(id).AvailableGameModes.Any(mode => mode == EGameMode.TR_GAMEMODE_MEDLEY); if (_ConfigOk) { break; } } } else { _ConfigOk = false; } } else { _ConfigOk = false; } } if (_PartyMode.GameData.SongSource == ESongSource.TR_CATEGORY) { if (CBase.Songs.GetNumCategories() == 0) { _ConfigOk = false; } else if (CBase.Songs.GetNumSongsNotSungInCategory(_PartyMode.GameData.CategoryIndex) <= 0) { _ConfigOk = false; } else { CBase.Songs.SetCategory(_PartyMode.GameData.CategoryIndex); _ConfigOk = false; foreach (CSong song in CBase.Songs.GetVisibleSongs()) { _ConfigOk = song.AvailableGameModes.Any(mode => mode == EGameMode.TR_GAMEMODE_MEDLEY); if (_ConfigOk) { break; } } CBase.Songs.SetCategory(-1); } } if (_PartyMode.GameData.SongSource == ESongSource.TR_ALLSONGS) { if (CBase.Songs.GetNumSongs() > 0) { for (int i = 0; i < CBase.Songs.GetNumSongs(); i++) { _ConfigOk = CBase.Songs.GetSongByID(i).AvailableGameModes.Any(mode => mode == EGameMode.TR_GAMEMODE_MEDLEY); if (_ConfigOk) { break; } } } else { _ConfigOk = false; } } _SelectSlides[_SelectSlideCategory].Visible = _PartyMode.GameData.SongSource == ESongSource.TR_CATEGORY; _SelectSlides[_SelectSlidePlaylist].Visible = _PartyMode.GameData.SongSource == ESongSource.TR_PLAYLIST; _UpdateSlideRounds(); }