public static List <JogadorModel> ModelJogadorDaSessao(Jogador jogadorInserido) { List <JogadorModel> listaJogadores = new List <JogadorModel>(); JogadorModel jogadorEnviado = new JogadorModel(jogadorInserido.idJogador, jogadorInserido.sessaoAtual.idSessao, jogadorInserido.nomeJogador, jogadorInserido.coordJogadorX, jogadorInserido.coordJogadorY, jogadorInserido.areaAtual.posicaoMatriz.x, jogadorInserido.areaAtual.posicaoMatriz.y, Nucleo.ChecarQtdJogadoresSessao(jogadorInserido.sessaoAtual)); jogadorEnviado.tipoMensagem = "jogadorDoClient"; listaJogadores.Add(jogadorEnviado); return(listaJogadores); }
public override async Task Receive(WebSocket socket, WebSocketReceiveResult result, byte[] buffer) { Console.WriteLine("Entrou no Receive"); Jogador jogadorEncontrado = Jogador.ProcurarJogadorConectadoPorWebSocket(socket); Nucleo.ChecarInput(Encoding.UTF8.GetString(buffer, 0, result.Count), jogadorEncontrado); Console.WriteLine("Passou pelo Checar Input"); JogadorModel jogadorModelo = new JogadorModel(jogadorEncontrado.idJogador, jogadorEncontrado.sessaoAtual.idSessao, jogadorEncontrado.nomeJogador, jogadorEncontrado.coordJogadorX, jogadorEncontrado.coordJogadorX, jogadorEncontrado.areaAtual.posicaoMatriz.x, jogadorEncontrado.areaAtual.posicaoMatriz.y, Nucleo.ChecarQtdJogadoresSessao(jogadorEncontrado.sessaoAtual)); var message1 = JsonConvert.SerializeObject(JogadorModel.ConverterJogadoresSessaoModel(jogadorEncontrado)); var message2 = JsonConvert.SerializeObject(CelulaModel.ConverterParaCelulaModel(jogadorEncontrado.areaAtual.dungeonInserida)); var message3 = JsonConvert.SerializeObject(JogadorModel.ModelJogadorDaSessao(jogadorEncontrado)); // string nomeDoUsuario = jogadorEncontrado.nomeJogador; await SendMessageToSession(message1, jogadorEncontrado.sessaoAtual); await SendMessage(jogadorEncontrado.socketDoJogador, message2); await SendMessage(jogadorEncontrado.socketDoJogador, message3); Console.WriteLine("Fim do Receive."); }
public static List <JogadorModel> ConverterJogadoresSessaoModel(Jogador jogadorInserido) { List <JogadorModel> listaJogadores = new List <JogadorModel>(); listaJogadores.Add(new JogadorModel(jogadorInserido.idJogador, jogadorInserido.sessaoAtual.idSessao, jogadorInserido.nomeJogador, jogadorInserido.coordJogadorX, jogadorInserido.coordJogadorY, jogadorInserido.areaAtual.posicaoMatriz.x, jogadorInserido.areaAtual.posicaoMatriz.y, Nucleo.ChecarQtdJogadoresSessao(jogadorInserido.sessaoAtual))); foreach (Jogador j in jogadorInserido.sessaoAtual.jogadoresNaSessao) { if (j != null && j != jogadorInserido) { listaJogadores.Add(new JogadorModel(j.idJogador, j.sessaoAtual.idSessao, j.nomeJogador, j.coordJogadorX, j.coordJogadorY, j.areaAtual.posicaoMatriz.x, j.areaAtual.posicaoMatriz.y, Nucleo.ChecarQtdJogadoresSessao(j.sessaoAtual))); } } return(listaJogadores); }
public override async Task OnConnected(WebSocket socketInserido) { await base.OnConnected(socketInserido); var socketId = connections.PegarIdPorSocket(socketInserido); //await SendMessageToAll($"******* {nomeDoUsuario} entrou no chat. ******"); Jogador jogadorEncontrado = Jogador.ProcurarJogadorConectadoPorWebSocket(socketInserido); JogadorModel jogadorModelo = new JogadorModel(jogadorEncontrado.idJogador, jogadorEncontrado.sessaoAtual.idSessao, jogadorEncontrado.nomeJogador, jogadorEncontrado.coordJogadorX, jogadorEncontrado.coordJogadorY, jogadorEncontrado.areaAtual.posicaoMatriz.x, jogadorEncontrado.areaAtual.posicaoMatriz.y, Nucleo.ChecarQtdJogadoresSessao(jogadorEncontrado.sessaoAtual)); var message1 = JsonConvert.SerializeObject(JogadorModel.ConverterJogadoresSessaoModel(jogadorEncontrado)); var message2 = JsonConvert.SerializeObject(CelulaModel.ConverterParaCelulaModel(jogadorEncontrado.areaAtual.dungeonInserida)); var message3 = JsonConvert.SerializeObject(JogadorModel.ModelJogadorDaSessao(jogadorEncontrado)); // string nomeDoUsuario = jogadorEncontrado.nomeJogador; await SendMessageToSession(message1, jogadorEncontrado.sessaoAtual); await SendMessage(jogadorEncontrado.socketDoJogador, message2); await SendMessage(jogadorEncontrado.socketDoJogador, message3); }