/// <summary> /// Fila de mensagem para enviar para o servidor /// </summary> /// <param name="tipoMsg"> define o tipo de mensagem k se pretende enviar</param> /// <param name="obj"> varia conforme o tipo de mensagem</param> public void OutMessage(MensagemCliente mensagem) { //Guarda na lista de mensagens para enviar lock (_outbox) { _outbox.Add(mensagem); } }
public static MensagemCliente JogadaAbrirTesouro(string nickName, string idJogo, string accao, int salaDestino) { MensagemCliente mensagem = new MensagemCliente(nickName, Mensagem.ABRETESOURO, "O servidor do cliente: " + nickName); mensagem._idDestinatarioMensagem = nickName; mensagem._nick = nickName; mensagem._direccao = accao; mensagem._idJogo = idJogo; mensagem._salaDestino = salaDestino; return mensagem; }
/// <summary> /// Fila de mensagem de entrada, e por aqui que devem receber as mensagem do /// </summary> /// <param name="tipoMsg"> define o tipo de mensagem k se pretende receber /// /// </param> /// <param name="obj"> varia conforme o tipo de mensagem /// </param> public void MessageQueue(MensagemCliente mensagem) { //Recebe mensagens no cliente if (mensagem._jogoTerminou == true) { MMGCliente.TrataFimJogo(mensagem._pontuacaoNova, mensagem._top10); } if (mensagem.TipoIgual(Mensagem.RESPOSTAMOVIMENTO)) { MMGCliente.TrataRespostaMovimento(mensagem._novaSala, mensagem._numSalasAdjComGas, 0); return; } else if (mensagem.TipoIgual(Mensagem.RESPOSTAABERTURA)) { MMGCliente.TrataRespostaAbertura(mensagem._pontuacaoAntiga, mensagem._pontuacaoNova, mensagem._top10, mensagem.ResultadoAccaoCliente); return; } else if (mensagem.TipoIgual(Mensagem.SISTEMA_EM_ACTUALIZACAO)) { MMGCliente.TrataActualizacaoSistema(); return; } return; }
public static MensagemCliente SistemaEmActualizacao(string idCliente) { MensagemCliente mensagem = new MensagemCliente(idCliente, Mensagem.SISTEMA_EM_ACTUALIZACAO, idCliente); return mensagem; }
public static MensagemCliente RespostaMovimentoJogador(string idCliente, RoomDesc novaSala, int NumSalasAdjComGas, int pontuacaoNova) { MensagemCliente mensagem = new MensagemCliente(idCliente, Mensagem.RESPOSTAMOVIMENTO, idCliente); mensagem._nick = idCliente; mensagem._novaSala = novaSala; mensagem._numSalasAdjComGas = NumSalasAdjComGas; mensagem._pontuacaoNova = pontuacaoNova; return mensagem; }
public static MensagemCliente RespondeJogoFim(string idCliente, int pontuacaoFinal, ArrayList Top10) { MensagemCliente mensagem = new MensagemCliente(idCliente, Mensagem.RESPOSTATERMINOUJOGO, idCliente); mensagem._nick = idCliente; mensagem._pontuacaoNova = pontuacaoFinal; mensagem._top10 = Top10; mensagem._jogoTerminou = true; return mensagem; }
public static MensagemCliente RespondeAbertura(string idCliente, int pontuacaoAntiga, int pontuacaoNova, string resultadoAccaoCliente) { MensagemCliente mensagem = new MensagemCliente(idCliente, Mensagem.RESPOSTAABERTURA, idCliente); mensagem._nick = idCliente; mensagem._pontuacaoNova = pontuacaoNova; mensagem._pontuacaoAntiga = pontuacaoAntiga; mensagem._resultadoAccaoCliente = resultadoAccaoCliente; return mensagem; }
public static MensagemCliente JogadaMovimento(string nickName, string idJogo, string accao, int salaDestino) { MensagemCliente mensagem = new MensagemCliente(nickName, Mensagem.MOVIMENTO, "O servidor do cliente: " + nickName); mensagem._nick = nickName; mensagem._direccao = accao; mensagem._idJogo = idJogo; mensagem._salaDestino = salaDestino; return mensagem; }