‫Olá e bem-vindo.
‫Nesta palestra, vamos aprender sobre operadores booleanos para que possamos fazer declarações
‫complicadas que exigem que vários booleanos sejam verdadeiros, como ter uma gárgula aceita apenas se
‫for a tag correta e também não for capturada.
‫Então, quando eu solto a gárgula, você pode ver que a parede só responde nesse ponto.
‫Vamos mergulhar e ver como isso funciona.
‫Então, agora, idealmente, gostaríamos que nosso componente de gatilho ignorasse ou não assumisse um ator aceitável que está sendo capturado
‫no momento.
‫Então, para mudar isso, vou descer para nossa implementação de ator aceitável no CBP do componente de
‫gatilho.
‫E você pode ver que se o Estado estivesse dizendo atualmente, vamos pegar um ator, se ele tiver a marca
‫aceitável e essa é a única coisa que estamos fazendo.
‫Mas o que eu quero fazer é condicionar isso a duas coisas.
‫Como combinamos dois valores booleanos?
‫Bem, há algumas opções.
‫Temos alguns operadores para isso.
‫Um deles é o operador e comercial e comercial, que lemos como.
‫E isso basicamente significa que será uma combinação de dois booleanos.
‫Então isso só é verdade se ambas forem verdadeiras.
‫Então, se tivéssemos verdadeiro e verdadeiro, então isso seria igual a verdadeiro.
‫Considerando que se qualquer um deles for falso, então se o da direita
‫for falso, então a coisa toda será falsa, etc. Há outra opção aqui, que é usar este operador
‫de barra dupla assim e este é lido como ou.
‫E basicamente isso significa que se qualquer um desses dois for verdadeiro, então o resultado será verdadeiro.
‫E também, se ambos forem verdadeiros, o resultado será verdadeiro.
‫Mas se ambos forem falsos, então o resultado será falso.
‫Então, essas são algumas das expressões comuns que usamos.
‫Uma outra coisa que usamos é o ponto de exclamação, e o ponto de exclamação basicamente inverte qualquer valor booleano
‫que temos e lemos como não.
‫Então você pode ter false, mas porque eu coloco um nó na frente, todo esse valor, essa expressão se
‫torna verdadeira.
‫E se eu ordenasse com falso, então bem, porque pelo menos um deles é verdadeiro, então
‫o resultado será verdadeiro.
‫Então, o que queremos fazer aqui é essencialmente dizer que, se tiver uma tag de ator, essa é
‫a tag de ato aceitável, mas não tem.
‫Então, neste caso e não tem a tag de ator agarrada, então é aceitável.
‫Tantos desafios para você.
‫Como você usaria esses três operadores que acabei de explicar?
‫Você não precisa usar todos eles, mas quais você usaria e como você escreveria essa instrução
‫if?
‫OK.
‫Então, vou colocar isso em variáveis booleanas para deixar bem claro.
‫Então eu tenho bool que tem tag aceitável vai ser igual ao ator tem tag aceitável.
‫Ok assim e ponto e vírgula no final da linha.
‫Agora, outro bool será se ele é capturado e podemos obter isso indo ator arrow actor
‫has tag e este caso será capturado assim.
‫Então, podemos dizer que, seja ele agarrado ou não, com base nisso, então, se
‫o que queremos dizer é aceitável, é e comercial.
‫E comercial não é um ponto de exclamação é agarrado assim.
‫Então, isso parece bastante bom se você ler o e comercial e o ponto de exclamação como e
‫e não se aceitável tiver uma marca aceitável e não for capturado, então retornaremos esse ator.
‫Vamos compilar e ver se funciona.
‫Então vamos em frente e aperte o play bem, pegue uma gárgula e corra para a área do gatilho.
‫E você vê, eu estou colocando a gárgula, mas nada está acontecendo porque eu não a liberei ainda.
‫E daí se eu tentar derrubar o equipamento deles?
‫Aqui vão eles.
‫Assim que eu a solto, ela a ativa, tira a gárgula de mim e ela desaparece no
‫chão.
‫Agora, existem alguns lugares em que podemos pegar um CP onde temos instruções if onde poderíamos ter
‫apenas um se usássemos os operadores end or e not.
‫Então, um dos truques aqui é que quando você está fazendo algo assim, onde estamos verificando se
‫algo não é um ponteiro nulo, a outra opção é que você pode simplesmente remover isso não igual ao ponteiro nulo.
‫E se você simplesmente disser se e então colocar algum tipo de ponteiro como o booleano, isso verificará automaticamente que
‫não é um ponteiro nulo.
‫Então aqui está dizendo que se o identificador de física está disponível aqui, está dizendo que se o componente de captura está disponível,
‫então podemos ir em frente e usá-lo.
‫Então, vamos desafiá-lo a combinar suas declarações if.
‫Então você vai juntá-los em componentes tecnológicos.
‫Pense se você precisa usar o e comercial, o e comercial, o e o OU ou se você
‫precisa usar uma negação ou um nó ou um ponto de exclamação e, em seguida, juntá-los na versão também e testar sua
‫funcionalidade e ver se ainda funciona.
‫Pause o vídeo e vá em frente.
‫OK.
‫Bem vindo de volta.
‫Então, vamos fazer uso disso porque basicamente o que queremos fazer e liberar é
‫dizer se temos uma alça de física válida e essa alça de física tem um componente agarrado, então queremos
‫fazer o corpo desta declaração if.
‫Então é bem simples escrever assim.
‫Podemos dizer que se o identificador de física e o identificador de física são componentes capturados, podemos fazer o seguinte.
‫Isso nos permite remover esse retorno inicial if e tornar o código um pouco mais curto.
‫Agora, os olhos de águia entre vocês podem se preocupar que, ei, estamos fazendo referência a esse identificador
‫físico dentro da instrução if para avaliar se essa instrução final deve funcionar.
‫Agora há um recurso do e que avaliará a coisa à esquerda primeiro.
‫E se essa coisa é falsa, então nem avalia a coisa à direita.
‫Não precisa.
‫Ele já sabe que o resultado será falso.
‫Não precisa avaliar mais nada.
‫Portanto, isso significa que é seguro fazer algo assim, onde o resultado à direita de uma calculadora só
‫é seguro se o resultado à esquerda for verdadeiro.
‫E esta é uma propriedade bastante útil.
‫E você vê isso usado bastante quando você está usando ponteiros que primeiro você verificará o ponteiro e depois
‫terá um e comercial.
‫E comercial, e então você usará o ponteiro no lado direito.
‫Mas, por favor, por favor, não fique tentado a trocar esses dois em ordem.
‫Não funcionará ao contrário e você terá falhas.
‫Então, vamos aos nossos componentes de tick, onde estamos essencialmente fazendo exatamente a mesma coisa.
‫Queríamos verificar se temos componentes capturados.
‫Então o que podemos fazer aqui é lidar com física e lidar com física.
‫A seta agarrou o componente.
‫Nós não precisamos que não seja igual ao ponteiro nulo para mantê-lo limpo e então podemos ir em frente e remover
‫a instrução if com o retorno e apenas manter as linhas de código para baixo, manter a legibilidade um pouco mais
‫alta.
‫Coisas boas.
‫Então, nesta palestra vimos como usar os operadores end or e not em C++.
‫Vejo você na próxima palestra.