private void ConnectToGamingRoom(string uriGamingRoom)
 {
     CallAsync(() =>
     {
         WorkingCount++;
         if (uriGamingRoom == null)
         {
             WorkingMessage = "Unable to join the gaming room";
         }
         else
         {
             WorkingMessage = "Connecting to the gaming room";
         }
         _gamingRoom = uriGamingRoom;
         GameMembersList.Clear();
     },
               arg =>
     {
         if (uriGamingRoom == null)
         {
             System.Threading.Thread.Sleep(2000);
             _canReceiveARequest = true;
         }
         else
         {
             WaitSignalFromServer();
         }
         return(true);
     },
               (result, ex) =>
     {
         WorkingCount--;
     }, string.Empty);
 }
 private void TryAddPlayer(Guid idplayer)
 {
     CallOnDispatcher(() =>
     {
         if (GameMembersList.FirstOrDefault(p => p.ID == idplayer) == null)
         {
             var player        = GetPlayer(idplayer);
             player.IsGameOver = false;
             player.Score      = 0;
             System.Diagnostics.Debug.Assert(player != null);
             GameMembersList.Add(player);
             DoGameRequestAccepted(player);
         }
     });
 }