public Game Generate(GameType gameType, UserGameSettings gameSettings, long userId, string userName, string seed = "") { if (string.IsNullOrWhiteSpace(seed)) { seed = ThreadSafeRandom.CreateRandomString(SeedLength); } // Create game Game game = new Game(gameType, gameSettings, userId, userName, seed); // Pick game slides switch (gameType) { case GameType.TypeX: game.Slides = GenerateTypeXSlideSequence(gameSettings, seed, false); break; case GameType.SeekX: game.Slides = GenerateSeekXSlideSequence(gameSettings, seed, false); break; case GameType.TypeAX: game.Slides = GenerateTypeXSlideSequence(gameSettings, seed, true); break; case GameType.SeekAX: game.Slides = GenerateSeekXSlideSequence(gameSettings, seed, true); break; case GameType.SeekAXQuiz: break; default: break; } return(game); }