Até agora, construímos todos os nós fundamentais para uma árvore de comportamento.
Então, não é surpreendente como é realmente simples por baixo e como você pode construir com eles uma estrutura de
comportamento muito complexa?
Então, olhamos para os nós de seqüência agora eles são marcados por uma seta que eu coloquei
aqui, e os filhos da seqüência cada um deles é executado até que um deles falhe.
Portanto, é como terminar com eles juntos numa declaração final, sempre começando com a primeira criança
que entra nessa lista de crianças e trabalhando através delas em ordem.
Agora também criamos um nó seletor e o seletor permite que você tenha vários filhos novamente e ele funcionará através
deles, mas apenas um deles tem que ser bem sucedido.
Portanto, se o primeiro for bem sucedido, ele devolverá o valor de volta ao seu pai.
Caso contrário, ele continua para o próximo da lista e, em vez disso, realiza isso.
Portanto, isso é mais ou menos quando você está fazendo uma seleção entre várias ações que, todas elas, resultam no mesmo tipo
de coisa que nós fizemos com estas portas.
Assim, você pode ter umas dez portas naquela galeria e o agente pode ser capaz de realmente passar
e verificar todas aquelas dez portas, se for preciso, para entrar.
E você pode até incluir janelas.
Você pode subir por uma janela se não conseguir entrar por uma porta, ou algo assim.
Mas precisamos apenas de um deles para ter sucesso para que ele continue tentando roubar o diamante.
Agora, o que vamos passar é dar uma olhada em outro tipo de nó, que é uma condição,
e a condição é realmente apenas mais uma folha como uma ação.
Mas na verdade é muito, muito mais simples, porque ao invés de fazer qualquer processo em particular,
é apenas testar um certo valor.
Então o que vamos fazer é ver que eu adicionei a esta árvore é adicionar uma condição
no início da seqüência do aço para que o agente vá e roube algo se ele não tiver dinheiro suficiente.
Mas se ele tiver dinheiro suficiente, ele não vai fazer nada.
Portanto, a condição neste caso é verificar se o assaltante tem dinheiro suficiente.
Por isso, vamos começar no código acrescentando em uma propriedade para armazenar o dinheiro dos agentes.
Portanto, se voltarmos ao comportamento de ladrão nestes bens, vou acrescentar uma propriedade por dinheiro.
É quase como um sistema de inventário, acho eu.
Muito simples, é claro.
Por isso, vou fazer com que possamos deslizá-lo no inspetor.
Portanto, a faixa para a quantidade de dinheiro, vamos passar de 0 a 1000 e então esta será uma intensão pública e vamos chamá-la de
dinheiro.
E digamos que para começar, há 800.
Portanto, enquanto ele tiver mais do que 500 dólares, digamos, então ele não irá realizar o roubo.
Mas se cair abaixo disso, ele irá e fará isso.
Muito bem.
Portanto, há nosso inventário agora.
Nossa condição é que haja mais de 500 dólares lá dentro.
Portanto, precisamos criar agora este nó de folha, uma folha.
Se apenas descermos um pouco, uma folha é um nó com um nome, mas também um método a ele ligado.
Portanto, temos que criar um método que teste o dinheiro.
Isso é muito, muito simples, porque já estamos criando todos esses métodos aqui.
E essencialmente eles são uma espécie de teste para ver se uma tarefa está terminada, mas estamos apenas fazendo uma simples
verificação.
Portanto, aqui dentro, vou pegar talvez este, o mais simples que temos, e talvez
eu coloque isto aqui em cima e vamos chamar de "tem dinheiro".
E dentro daqui, nós vamos voltar.
Primeiro de tudo, se o dinheiro for maior ou igual a 500, então voltaremos.
Ponto do nó.
Ponto de status.
Sucesso.
Ou em nossa programação falar isso seria uma verdade.
Caso contrário, vamos retornar o valor do ponto de status do nó.
Portanto, este é um nó que não tem um status de funcionamento porque a lógica só é executada e depois retorna
sucesso ou fracasso.
Agora, porque está em uma seqüência, se ele tem dinheiro que devolve o sucesso e que permite que essa seqüência continue funcionando.
Se ele não o fizer, é um fracasso e, portanto, não o fará.
E acabei de me dar conta de que tenho estes em torno do caminho errado.
Se tem dinheiro maior que 500, então realmente queremos falhar porque esta é uma condição em que ele
tem menos de 500 para acioná-lo.
Portanto, queremos que tenha sucesso quando é menos do que isso.
Portanto, coloque isto.
Está bem.
Certo.
Tenho minha lógica agora mesmo.
Portanto, há o meu dinheiro, então vamos economizar isso.
Então, vamos subir aqui e criar essa folha para ter dinheiro.
Por isso, vou colocar isso não importa realmente onde colocamos aqui.
Folha.
Tem dinheiro é igual a folha nova tem dinheiro e depois aqui tem dinheiro.
Então com essa folha podemos colocá-la em nossa seqüência de aço como a primeira coisa porque é o que vai acioná-la para
começar, ou nem sequer vai acioná-la.
Só vai impedir que essa seqüência funcione se o dinheiro estiver acima de 500.
Portanto, vamos colocar o ponto de aço adicionar criança.
E nós vamos acrescentar que tem dinheiro lá dentro.
Agora, a última coisa que precisamos fazer é descer em nossa atualização onde realmente estamos rodando nossa árvore,
porque nossa árvore aqui vai dizer se está rodando, então processe-a novamente, processe-a novamente e processe novamente
até que pare.
Mas vamos apenas dar uma olhada no que acontece se eu salvar isto e voltar de costas para a unidade.
Agora encontramos nosso assaltante no inspetor.
Você pode ver que há um deslizador para o dinheiro, então vamos brincar com a imprensa.
E ele não vai fazer nada para começar agora, porque foi detido por essa nova condição.
O que esperaríamos é que se deslizássemos isto abaixo de 500, ele deveria começar a fazer algo, mas não o faz.
Portanto, o que realmente aconteceu aqui é que nessa atualização para o status de árvore de condução,
a árvore passa uma vez porque ele tem dinheiro suficiente.
Toda essa seqüência falha e nunca mais volta e tenta novamente porque isto é apenas como uma corrida através
da árvore.
Vai continuar processando a árvore enquanto ela estiver funcionando.
E então, uma vez que ele tenha um fracasso ou seja bem sucedido neste caso, então ele não se dará ao trabalho de
fazê-lo novamente.
Assim, nossa condição para fazer a árvore correr, agora está mudada.
Em vez disso, queremos dizer que se o status da árvore não for igual ao sucesso, então vamos executá-la novamente.
Está bem?
E o que você quiser com seus comportamentos particulares, com suas árvores e como você quer que elas funcionem,
algumas árvores correrão repetidamente.
Alguns funcionarão apenas uma vez.
Você tem que colocar a lógica aqui para ter certeza de que assim seja e então você pode acioná-los em outro lugar.
Você poderia carregar uma árvore durante a corrida para colocar em seu agente quando alguma outra condição ou alguma outra cena
carrega ou algo assim.
Pode ser uma árvore de comportamento completamente diferente.
Certo, então vamos salvar isso, voltaremos à unidade e agora vamos pressionar o jogo.
E assim ele agora tem 800.
Vou deslizar esse dinheiro no inspetor para abaixo de 500 e ver o que acontece.
Assim que chegar lá embaixo, ele vai agir de acordo com o que estava acontecendo antes.
Então ele vai dar a volta e vai continuar a executar isso, e depois vai voltar para o veículo,
que é onde tudo termina e.
Então, essencialmente, ele roubou o diamante porque quer que seu dinheiro suba.
Quando ele voltar para a van, atualmente, ela não vai subir porque não codificamos
isso ainda.
Portanto, vou deixar isso como um desafio para você.
O que eu gostaria que você fizesse é ter o dinheiro aqui.
Portanto, o dinheiro que criamos em nosso roteiro para aumentar o valor quando ele leva o diamante de volta para a van
e nesse ponto ele pode deixar o diamante na van e sinalizar que você pode simplesmente destruir o objeto diamantado
porque ele não é mais necessário.
Certo.
Então, faça uma pausa no vídeo agora.
Vá fazer isso.
Quando voltarmos, eu lhe mostrarei como fazê-lo.
Certo.
Bem-vindo de volta.
Como você foi?
Bem, vamos voltar ao nosso código para que saibamos que está pegando o diamante.
Sabemos que ele está levando-o de volta para a van e ele está levando-o de volta para a van até aqui.
Vá para van.
Então, quando ir para Van é bem sucedido, o que significa que ele o completou, é quando você quer tipo vender o diamante
e adicionar o dinheiro.
Agora, para fazer isso, precisamos de uma lógica muito semelhante à que fizemos com o Go to Diamond.
Nós realmente executamos isto, vamos para o local e depois esperamos que tenha sucesso e depois fazemos
nossa lógica aqui em baixo.
Portanto, vou basicamente copiar isto daqui para fora.
Vamos colocar isto em nossa van e temos que ir para o local, que será Van aqui.
E não vamos ser os pais da van para o agente neste momento.
Então, vamos para a van.
O que queremos fazer aqui é colocar dinheiro mais dinheiro igual.
Quanto esse diamante vai valer?
Digamos 300 dólares.
E então podemos realmente nos livrar do diamante por completo para que possamos passar do ponto de diamante ativo para falso.
Portanto, ele ainda está lá, mas nós o tornamos meio invisível e o tiramos meio fora da equação.
Ok, então vamos salvar isso.
Vamos voltar à unidade, experimentemos isso.
Por isso, pressionamos o jogo.
Ele ainda tem $800.
E vou colocar isso logo abaixo de 500 para desencadear esse comportamento.
E então ele sai, ele vai buscar o diamante.
E uma vez que ele leve isso de volta para a van, devemos ver o dinheiro subir.
Assim que ele conseguiu aquele diamante, podemos começar a vigiar no inspetor para que o valor do dinheiro
suba.
E ao mesmo tempo, você vai notar que o diamante vai desaparecer completamente de sua hierarquia de objetos
de jogo.
Então, na verdade, eu vou observá-lo primeiro.
Vai voltar aqui para a van.
O diamante desaparece e vamos até o inspetor e seu dinheiro subiu.
Fantástico.
Pronto, agora você já fez isso.
E acredite ou não, agora você cobriu todos os nós fundamentais que compõem as árvores de comportamento.
Você tem conhecimento e habilidades suficientes agora que você pode realmente pegar isso e fazer um pouco
de Googling em árvores de comportamento para dar uma olhada e ter mais algumas idéias de como outras pessoas realmente se expandiram
nos nós.
Portanto, não tenha medo de acrescentar mais nós ao seu sistema que fazem outras coisas.
Basta garantir que você sempre se agarre a esse fluxo de controle de sucesso, fracasso ou corrida de retorno.