/// <summary> /// Añade una conexion a un grupo /// </summary> /// <param name="groupName"></param> /// <returns></returns> public void JoinGroup(string groupName) { lock (lockFlama) { int id = maneja.ObtenerIDSala(groupName); UsuariosConectados[id]++; Groups.Add(Context.ConnectionId, groupName); if (UsuariosConectados[id] == 2) { Clients.Caller.cambiarMiTurno(UsuariosConectados[id]); } } }
public game_screen() { this.InitializeComponent(); Windows.UI.Core.Preview.SystemNavigationManagerPreview.GetForCurrentView().CloseRequested += async(sender, args) => { args.Handled = true; //salirDelJuego.Visibility = Visibility.Visible; await _dispatcher.RunAsync(CoreDispatcherPriority.Normal, () => { salirDelJuego.Visibility = Visibility.Visible; //Cambiar aqui, cambiar desde el vm int i = 0; do { Thread.Sleep(1000); i++; } while (i < 1); }); if (!myApp.sala.Equals("")) { //Quitamos content dialog porque son una basura clsSala sala = new clsSala(); sala.id = maneja.ObtenerIDSala(myApp.sala); sala.nombre = myApp.sala; sala.usuariosConectados = 0; //Mostrar saliendo de sala ActualizarApi(sala); //LLamar a un metodo del serveer salirAbruptamente(); App.Current.Exit(); } else { App.Current.Exit(); } }; _dispatcher = Window.Current.Dispatcher; vm = (viewModel)this.DataContext; SignalR(); cargando(); send.nickName = vm.nickJugador; send.groupName = sala; if (conn.State == Microsoft.AspNet.SignalR.Client.ConnectionState.Connected) { ChatProxy.Invoke("JoinGroup", myApp.sala); } sumarmeAJugadoresConectados(); if (myApp.miTurno) { vm.turnoBool = true; } else { vm.turnoBool = false; } }