//Metodo para atualizar variaveis do jogo private void AtualizarVariaveisDoJogo(GameStateApi nGS) { RondaAtual = nGS.RoundNumber; MoedasOuroRecebidas = nGS.GoldFound; GameID = nGS.GameID; Monstro = nGS.FoundEnemy; PontosAtaqueMonstro = nGS.EnemyAttackPoints; PontosSorteMonstro = nGS.EnemyLuckPoints; DanoSofrido = nGS.EnemyDamageSuffered; UltimaAccao = nGS.Action; ResultadoAccao = nGS.Result; PontosVidaMonstroAtuais = nGS.EnemyHealthPoints; EncontradoPocao = nGS.FoundPotion; EncontradoChave = nGS.FoundKey; EncontradoItem = nGS.FoundItem; EfeitoAtaqueItem = nGS.ItemAttackEffect; EfeitoVidaItem = nGS.ItemHealthEffect; EfeitoSorteItem = nGS.ItemLuckEffect; }
// Atualizar o estado do Jogo public void AtualizarJogo(GameStateApi nGS) { ApagarMensagensDeContexto(); // Apagar as mensagens de contexto da ultima atualização ResetItensEncontrados(); //Atualizar variaveis locais AtualizarVariaveisDoJogo(nGS); //Atualizar variáveis do jogo vindas do GameState if (ResultadoAccao == Result.Success) // Atualizar jogo sempre que existem accoes com Sucesso// { AtualizarAccaoSucesso(); //Chamado metodo para atualizar jogo consoante a accao VerificarItensEncontrados(); //Verificar itens encontrados if (MoedasOuroRecebidas > 0) //Deteta se foram encontradas moedas { AtualizarMoedas(); //Atualizar moedas de ouro do modelo } } AccaoInvalida(); //Se a accao for inválida para debug AcertarVida(); //Fazer acerto de vida de combate PassarTempo(); //Contabilizar acções e detetar cansaço DetetarSeJogoAcabou(); //Detetar se jogo acabou if (Autonomo) //Deteta se jogo está em modo autónomo { AccaoAutonomo(); //Metodo para decidir ação a tomar } }