/// <summary> /// Metodo el cual enviara la informacion necesaria al servidor. /// </summary> /// <param name="info"></param> public static void Position(clsInfoPartida info) { if (conn.State == Microsoft.AspNet.SignalR.Client.ConnectionState.Connected) { info.NickName = NickName; MyHubProxy.Invoke("enviarInfo", info); } }
/// <summary> /// Metodo el cual recibiremos la informacion proporcionada por el servidor. /// </summary> /// <param name="info"></param> private async void onInfo(clsInfoPartida info) { await Windows.ApplicationModel.Core.CoreApplication.MainView.Dispatcher.RunAsync(CoreDispatcherPriority.Normal, async() => { if (info._cartasRespondidas == 4 && info.NickName.Equals(NickName)) { aciertos = info._cartasAcertadas; cartasResp = info._cartasRespondidas; this.Frame.Navigate(typeof(EsperarQueAcabe)); } if (info._cartasRespondidas == 4 && !info.NickName.Equals(NickName)) { aciertoO = info._cartasAcertadas; cartasRespO = info._cartasRespondidas; nombreJugadorExterior = info.NickName; } if (cartasResp == 4 && cartasRespO == 4) { if (aciertoO > aciertos) { info.nickNameGanador = nombreJugadorExterior; } else if (aciertoO < aciertos || !String.IsNullOrEmpty(info.nickNameGanador)) { info.nickNameGanador = NickName; } else if (aciertoO == aciertos || !String.IsNullOrEmpty(info.nickNameGanador)) { info.nickNameGanador = "Empate"; } if (!String.IsNullOrEmpty(info.nickNameGanador) && cartasResp == 4 && cartasRespO == 4) { ContentDialog confirmarActualizado = new ContentDialog(); confirmarActualizado.Title = "Resultados"; confirmarActualizado.Content = "Ganador " + info.nickNameGanador + ""; confirmarActualizado.PrimaryButtonText = "ReiniciarPartida"; confirmarActualizado.SecondaryButtonText = "Salir"; ContentDialogResult resultado = await confirmarActualizado.ShowAsync(); if (resultado == ContentDialogResult.Primary) { ReiniciarPartida(); } else { Application.Current.Exit(); } } } }); }
//Metodo para enviar la informacion general de la partida. public void enviarInfo(clsInfoPartida info) { Clients.All.sendInfoPartida(info); }