public static async Task<MixPlayGameListingModel> CreateTestGame(MixerConnection connection, ChannelModel channel) { UserModel user = await UsersServiceUnitTests.GetCurrentUser(connection); IEnumerable<MixPlayGameListingModel> gameListings = await connection.MixPlay.GetOwnedMixPlayGames(channel); MixPlayGameListingModel previousTestGame = gameListings.FirstOrDefault(g => g.name.Equals(MixPlayServiceUnitTests.GameName)); if (previousTestGame != null) { await MixPlayServiceUnitTests.DeleteTestGame(connection, previousTestGame); } MixPlayGameModel game = new MixPlayGameModel() { name = MixPlayServiceUnitTests.GameName, ownerId = user.id, }; game = await connection.MixPlay.CreateMixPlayGame(game); Assert.IsNotNull(game); Assert.IsTrue(game.id > 0); game.controlVersion = "2.0"; game = await connection.MixPlay.UpdateMixPlayGame(game); Assert.IsNotNull(game); Assert.IsTrue(game.id > 0); gameListings = await connection.MixPlay.GetOwnedMixPlayGames(channel); Assert.IsNotNull(gameListings); Assert.IsTrue(gameListings.Count() > 0); MixPlayGameListingModel gameListing = gameListings.FirstOrDefault(gl => gl.id.Equals(game.id)); Assert.IsNotNull(gameListing); MixPlayGameVersionModel version = gameListing.versions.First(); MixPlaySceneModel defaultScene = new MixPlaySceneModel() { sceneID = "default", }; defaultScene.buttons.Add(MixPlayClientUnitTests.CreateTestButton()); defaultScene.joysticks.Add(MixPlayClientUnitTests.CreateTestJoystick()); version.controls.scenes.Add(defaultScene); version.controlVersion = "2.0"; version = await connection.MixPlay.UpdateMixPlayGameVersion(version); gameListings = await connection.MixPlay.GetOwnedMixPlayGames(channel); Assert.IsNotNull(gameListings); Assert.IsTrue(gameListings.Count() > 0); gameListing = gameListings.FirstOrDefault(gl => gl.id.Equals(game.id)); Assert.IsNotNull(gameListing); return gameListing; }
/// <summary> /// Creates a MixPlay game. /// </summary> /// <param name="connection">The Mixer connection to use</param> /// <param name="channel">The owning channel</param> /// <param name="user">The owning user</param> /// <param name="gameName">The name of the game</param> /// <param name="initialScene">The initial scene</param> /// <returns>The created MixPlay game</returns> public static async Task <MixPlayGameListingModel> CreateMixPlay2Game(MixerConnection connection, ChannelModel channel, UserModel user, string gameName, MixPlaySceneModel initialScene) { MixPlayGameModel game = new MixPlayGameModel() { name = gameName, ownerId = user.id, }; game = await connection.MixPlay.CreateMixPlayGame(game); game.controlVersion = "2.0"; game = await connection.MixPlay.UpdateMixPlayGame(game); IEnumerable <MixPlayGameListingModel> gameListings = await connection.MixPlay.GetOwnedMixPlayGames(channel); MixPlayGameListingModel gameListing = gameListings.FirstOrDefault(gl => gl.id.Equals(game.id)); MixPlayGameVersionModel version = gameListing.versions.First(); version.controls.scenes.Add(initialScene); version.controlVersion = "2.0"; version = await connection.MixPlay.UpdateMixPlayGameVersion(version); gameListings = await connection.MixPlay.GetOwnedMixPlayGames(channel); gameListing = gameListings.FirstOrDefault(gl => gl.id.Equals(game.id)); return(gameListing); }