void client_OpzetFaseCompleted(object sender, ServiceReference1.OpzetFaseCompletedEventArgs e) { if (e.Result == true && hulpTegel2.RandomNummer == 1) //Als het de opzetfase is en de tegel waar we op klikken heeft 1 vis. { AddPinguin(hulpTegel2.Row, hulpTegel2.Column, kleurVanSpeler); //Voeg pinguin lokaal toe. //Voeg pinguin in database toe. ServiceReference1.DTOPion pion = new ServiceReference1.DTOPion(); pion.Column = hulpTegel2.Column; pion.Row = hulpTegel2.Row; pion.IjsschotsID = 0; pion.SpelerID = tellerSpelerID; pion.LobbyID = tellerLobbyID; ServiceReference1.Service1Client client2 = new ServiceReference1.Service1Client(); client2.AddPionToGameSteCompleted += client2_AddPionToGameSteCompleted; client2.AddPionToGameSteAsync(tellerLobbyID, pion, kleurAanDeBeurt); tellerAantalPinguins++; //Zien wanneer alle pinguins geplaatst zijn. } else if (e.Result == false && verplaatsingsface == true) //Als we tijdens het spel zijn en de pinguin mag verplaatst worden. { //Lokaal voor onmiddelijke weergave. VorigeTegel.Visibility = Visibility.Collapsed; //Laat de tegel van waar de pinguin kwam verdwijnen. hulpSpeelstuk2.Visibility = Visibility.Collapsed; //Laat ook de pinguin op die tegel verdwijnen. AddPinguin(hulpTegel2.Row, hulpTegel2.Column, hulpSpeelstuk2.Kleur); //Plaats de pinguin op zijn nieuwe lokatie. //In de datebase voor iedereen. foreach (var item in gameState.AllPion) { if (item.Column == hulpSpeelstuk2.Column && item.Row == hulpSpeelstuk2.Row) { //Geef alle pinguins de juist coördinaten mee. item.Column = hulpTegel2.Column; item.Row = hulpTegel2.Row; } } foreach (var item in gameState.AllIjsschots) { if (item.Column == (Convert.ToInt32(VorigeTegel.Column / 2)) && item.Row == VorigeTegel.Row) { item.Visibility = "Collapsed"; //Laat de tegel van waar de pinguin kwam verdwijnen. } } foreach (var item in gameState.AllSpeler) { if (item.Kleur == kleurVanSpeler) { item.Punten = eigenPunten; } } //Udate de gamestate voor iedereen. ServiceReference1.Service1Client client = new ServiceReference1.Service1Client(); client.UpdateGameStateCompleted += client_UpdateGameStateCompleted; client.UpdateGameStateAsync(tellerLobbyID, gameState); verplaatsingsface = false; //de speler heeft gedaan met spelen. } }