diff --git a/PartyModes/PartyModeTicTacToe/CPartyModeTicTacToe.cs b/PartyModes/PartyModeTicTacToe/CPartyModeTicTacToe.cs index 6cf643e5..636e3cfe 100644 --- a/PartyModes/PartyModeTicTacToe/CPartyModeTicTacToe.cs +++ b/PartyModes/PartyModeTicTacToe/CPartyModeTicTacToe.cs @@ -60,7 +60,7 @@ namespace VocaluxeLib.PartyModes.TicTacToe // ReSharper disable ClassNeverInstantiated.Global public sealed class CPartyModeTicTacToe : CPartyMode - // ReSharper restore ClassNeverInstantiated.Global + // ReSharper restore ClassNeverInstantiated.Global { public override int MinMics { @@ -96,7 +96,9 @@ namespace VocaluxeLib.PartyModes.TicTacToe get { return 10; } } - private enum EStage + public readonly EGameMode[] AvailableGameModes = { EGameMode.TR_GAMEMODE_NORMAL, EGameMode.TR_GAMEMODE_SHORTSONG, EGameMode.TR_GAMEMODE_DUET }; + + private enum EStage { Config, Names, @@ -119,7 +121,7 @@ namespace VocaluxeLib.PartyModes.TicTacToe public int CategoryIndex; public int PlaylistID; - public EGameMode GameMode; + public int GameMode; public List Rounds; public List Songs; @@ -160,7 +162,7 @@ namespace VocaluxeLib.PartyModes.TicTacToe SongSource = ESongSource.TR_ALLSONGS, PlaylistID = 0, CategoryIndex = 0, - GameMode = EGameMode.TR_GAMEMODE_NORMAL, + GameMode = 0, Rounds = new List(), Songs = new List(), NumJokerRandom = new int[2], @@ -432,20 +434,20 @@ namespace VocaluxeLib.PartyModes.TicTacToe for (int i = 0; i < CBase.Playlist.GetSongCount(GameData.PlaylistID); i++) { int id = CBase.Playlist.GetSong(GameData.PlaylistID, i).SongID; - if (CBase.Songs.GetSongByID(id).AvailableGameModes.Contains(GameData.GameMode)) + if (CBase.Songs.GetSongByID(id).AvailableGameModes.Contains(AvailableGameModes[GameData.GameMode])) GameData.Songs.Add(id); } break; case ESongSource.TR_ALLSONGS: ReadOnlyCollection avSongs = CBase.Songs.GetSongs(); - GameData.Songs.AddRange(avSongs.Where(song => song.AvailableGameModes.Contains(GameData.GameMode)).Select(song => song.ID)); + GameData.Songs.AddRange(avSongs.Where(song => song.AvailableGameModes.Contains(AvailableGameModes[GameData.GameMode])).Select(song => song.ID)); break; case ESongSource.TR_CATEGORY: CBase.Songs.SetCategory(GameData.CategoryIndex); avSongs = CBase.Songs.GetVisibleSongs(); - GameData.Songs.AddRange(avSongs.Where(song => song.AvailableGameModes.Contains(GameData.GameMode)).Select(song => song.ID)); + GameData.Songs.AddRange(avSongs.Where(song => song.AvailableGameModes.Contains(AvailableGameModes[GameData.GameMode])).Select(song => song.ID)); CBase.Songs.SetCategory(-1); break; @@ -493,7 +495,7 @@ namespace VocaluxeLib.PartyModes.TicTacToe if (isDuet) players[1].VoiceNr = 1; - CBase.Game.AddSong(round.SongID, GameData.GameMode); + CBase.Game.AddSong(round.SongID, AvailableGameModes[GameData.GameMode]); } private void _SetNumJokers() diff --git a/PartyModes/PartyModeTicTacToe/CPartyScreenTicTacToeConfig.cs b/PartyModes/PartyModeTicTacToe/CPartyScreenTicTacToeConfig.cs index c75cd880..feeda81b 100644 --- a/PartyModes/PartyModeTicTacToe/CPartyScreenTicTacToeConfig.cs +++ b/PartyModes/PartyModeTicTacToe/CPartyScreenTicTacToeConfig.cs @@ -160,8 +160,8 @@ namespace VocaluxeLib.PartyModes.TicTacToe _SelectSlides[_SelectSlideGameMode].Visible = true; _SelectSlides[_SelectSlideGameMode].Clear(); - _SelectSlides[_SelectSlideGameMode].SetValues((int)_PartyMode.GameData.GameMode); - _SelectSlides[_SelectSlideGameMode].RemoveValue(EGameMode.TR_GAMEMODE_MEDLEY.ToString()); + _SelectSlides[_SelectSlideGameMode].AddValues(_PartyMode.AvailableGameModes.Select(gm => gm.ToString())); + _SelectSlides[_SelectSlideGameMode].Selection = _PartyMode.GameData.GameMode; } private void _UpdateSlides() @@ -171,9 +171,9 @@ namespace VocaluxeLib.PartyModes.TicTacToe _PartyMode.GameData.SongSource = (ESongSource)_SelectSlides[_SelectSlideSongSource].Selection; _PartyMode.GameData.PlaylistID = _SelectSlides[_SelectSlidePlaylist].Selection; _PartyMode.GameData.CategoryIndex = _SelectSlides[_SelectSlideCategory].Selection; - _PartyMode.GameData.GameMode = (EGameMode)_SelectSlides[_SelectSlideGameMode].Selection; + _PartyMode.GameData.GameMode = _SelectSlides[_SelectSlideGameMode].Selection; - EGameMode gm = _PartyMode.GameData.GameMode; + EGameMode gm = _PartyMode.AvailableGameModes[_PartyMode.GameData.GameMode]; if (_PartyMode.GameData.SongSource == ESongSource.TR_PLAYLIST) {