Exemple #1
0
        /// <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]);
                }
            }
        }
Exemple #2
0
        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;
            }
        }