Fixed and changed category handling and visible songs

This commit is contained in:
Flamefire committed 2013-04-28 17:19:22 +02:00
1 parent 3956fa17d1
commit 5172f17da7
20 files changed
+189 -336

No files matched your search

@@ -308,7 +308,7 @@ namespace VocaluxeLib.PartyModes.Challenge
_Screens.TryGetValue("CPartyScreenChallengeMain", out screen);
if (screen != null)
{
CBase.Songs.ResetPartySongSung();
CBase.Songs.ResetSongSung();
_ToScreenMain.ResultTable = new List<CResultTableRow>();
_GameData.ResultTable = new List<CResultTableRow>();
_GameData.Rounds = new CChallengeRounds(_GameData.NumRounds, _GameData.NumPlayer, _GameData.NumPlayerAtOnce);
@@ -187,14 +187,11 @@ namespace VocaluxeLib.PartyModes.ChallengeMedley
{
_Stage = EStage.NotStarted;
_ScreenSongOptions.Sorting.IgnoreArticles = CBase.Config.GetIgnoreArticles();
_ScreenSongOptions.Sorting.SongSorting = CBase.Config.GetSongSorting();
_ScreenSongOptions.Sorting.IgnoreArticles = EOffOn.TR_CONFIG_OFF;
_ScreenSongOptions.Sorting.SongSorting = ESongSorting.TR_CONFIG_NONE;
_ScreenSongOptions.Sorting.Tabs = EOffOn.TR_CONFIG_OFF;
_ScreenSongOptions.Selection.SongIndex = -1;
if (CBase.Config.GetTabs() == EOffOn.TR_CONFIG_ON && _ScreenSongOptions.Sorting.SongSorting != ESongSorting.TR_CONFIG_NONE)
_ScreenSongOptions.Sorting.Tabs = EOffOn.TR_CONFIG_ON;
_ToScreenMain.ResultTable = new List<CResultTableRow>();
_GameData.ResultTable = new List<CResultTableRow>();
@@ -313,7 +310,7 @@ namespace VocaluxeLib.PartyModes.ChallengeMedley
_Screens.TryGetValue("CPartyScreenChallengeMedleyMain", out screen);
if (screen != null)
{
CBase.Songs.ResetPartySongSung();
CBase.Songs.ResetSongSung();
_ToScreenMain.ResultTable = new List<CResultTableRow>();
_GameData.ResultTable = new List<CResultTableRow>();
_GameData.Rounds = new CChallengeRounds(_GameData.NumRounds, _GameData.NumPlayer, _GameData.NumPlayerAtOnce);
@@ -502,26 +499,25 @@ namespace VocaluxeLib.PartyModes.ChallengeMedley
#endregion PlayerNames
#region SongQueue
if (CBase.Songs.GetNumVisibleSongs() < _NumSongs)
CBase.Songs.ResetPartySongSung();
if (CBase.Songs.GetNumSongsVisible() < _NumSongs)
CBase.Songs.ResetSongSung();
const EGameMode gm = EGameMode.TR_GAMEMODE_MEDLEY;
List<int> ids = new List<int>();
CSong[] visSongs = CBase.Songs.GetSongsNotSung();
if (visSongs == null)
var visibleSongs = CBase.Songs.GetVisibleSongs();
if (visibleSongs.Count == 0)
{
CBase.Log.LogError("CPartyChallengeMedleyMode Error: There are no songs!");
CBase.Graphics.FadeTo(EScreens.ScreenParty);
return false;
}
for (int i = 0; i < visSongs.Length; i++)
foreach (CSong song in visibleSongs)
{
foreach (EGameMode mode in visSongs[i].AvailableGameModes)
foreach (EGameMode mode in song.AvailableGameModes)
{
if (mode == EGameMode.TR_GAMEMODE_MEDLEY)
ids.Add(visSongs[i].ID);
ids.Add(song.ID);
}
}
@@ -536,7 +532,7 @@ namespace VocaluxeLib.PartyModes.ChallengeMedley
while (s < _NumSongs && ids.Count > 0)
{
int songID = ids[CBase.Game.GetRandom(ids.Count)];
CBase.Game.AddSong(songID, gm);
CBase.Game.AddSong(songID, EGameMode.TR_GAMEMODE_MEDLEY);
CBase.Songs.AddPartySongSung(songID);
ids.Remove(songID);
s++;
@@ -374,7 +374,7 @@ namespace VocaluxeLib.PartyModes.TicTacToe
if (screen != null)
{
_GameData.Team = _GameData.Team == 1 ? 0 : 1;
CBase.Songs.ResetPartySongSung();
CBase.Songs.ResetSongSung();
_GameData.CurrentRoundNr = 1;
_ToScreenMain.CurrentRoundNr = 1;
_ToScreenMain.NumFields = _GameData.NumFields;