‫Olá e bem-vindo.
‫Nesta aula, vamos adicionar uma tag a um objeto que está sendo capturado no momento.
‫Então, se eu pegar essa gárgula, lutar e dar uma olhada na estátua da gárgula, você pode vê-la agora.
‫Tem esta etiqueta agarrada anexada.
‫Se eu for em frente e soltar a gárgula e dar uma olhada novamente, você verá que a etiqueta desaparece.
‫Então, isso se comunicará com outras coisas de jogabilidade e vejo que as gárgulas estão sendo mantidas
‫e que não devem ser arrebatadas.
‫Vamos mergulhar e ver como implementar isso.
‫Então, no momento, quando deixamos a gárgula na área do gatilho, o que acontece é que a área
‫do gatilho meio que arrebata a gárgula e não espera que terminemos de soltá-la.
‫E isso porque a área do gatilho não tem noção do fato de que aquela gárgula está sendo segurada por
‫um agarrador.
‫Então, para fazer isso, dê a comunicação para os componentes do gatilho que temos algum tipo de controle
‫sobre a gárgula, novamente vamos usar tags, exceto que desta vez vamos adicioná-los e removê-los programaticamente e estamos vai
‫estar fazendo isso no grabber.
‫CP Então vamos abrir isso no código do Visual Studio e dar uma olhada em nossa função grab onde atualmente o que
‫estamos fazendo com o componente que atingimos é que estamos simplesmente indo em frente e despertando todos os corpos
‫rígidos.
‫Então, o que queremos fazer agora é adicionar uma nova tag.
‫Como fazemos isso?
‫Bem, antes de tudo, precisamos encontrar o ator em questão.
‫Portanto, devemos acertar os pontos do resultado, obter o ator e, em seguida, usar o ponteiro do ator.
‫Então Arrow podemos procurar por tags.
‫Agora tags é uma propriedade que é uma matriz t.
‫Então nós vimos aqui que é um array t de nomes f.
‫Portanto, precisamos ser capazes de manipular esse array t para adicionar e remover tags dele.
‫Então, vamos voltar ao array t e ver o que está disponível para nós.
‫Se procurarmos por ADD, você pode ver que há um monte de funcionalidades onde você pode passar o tipo de
‫elementos, que no nosso caso é um nome F e adiciona um novo item ao final do array e faz todos os trabalhos que
‫ele precisa fazer para garantir que você tenha espaço para ele.
‫Se você procurar por remove, há um monte de coisas que mencionam a remoção, mas apenas alguns métodos
‫que realmente têm o nome remove.
‫E você pode ver que remove muitas instâncias de um item como elas estão na matriz.
‫Então, o que está dizendo está dizendo que se ele tiver esse item no array, ele removerá todas as instâncias desse
‫item do array.
‫Portanto, se você colocar várias tags com o mesmo nome, todas serão removidas.
‫Considerando que, se você olhar mais para baixo, há uma remoção em e isso removeria um elemento em um
‫índice específico.
‫Agora definitivamente queremos o formato em vez do último porque queremos remover pelo nome da tag que vamos
‫chamar de agarrado.
‫Então, vamos começar adicionando, vamos voltar ao código do Visual Studio e temos essa matriz de tags.
‫Então o que podemos fazer com isso é que podemos simplesmente fazer um ponto porque não é um ponteiro, é o array real.
‫Então vamos chamar ADD e então vamos adicionar um nome F que podemos usar
‫apenas uma string para chamado agarrado assim.
‫Então esta camisa, quando pegamos o objeto, adicionamos uma etiqueta a ela que diz que ela foi pega.
‫Vamos em frente e compilar isso e verificar.
‫Uma vez feito isso, vamos em frente e aperte o play e tente pegar a gárgula assim, então
‫eu vou apertar F8 para possuir e devemos ser capazes de selecionar nosso ator de gárgula, rolar para baixo e dar uma olhada em
‫seu tags de ator.
‫Então isso está na seção ACT.
‫Nesse avanço, podemos dar uma olhada nas tags.
‫Podemos ver que há três tags lá.
‫Atualmente, desbloqueamos um e depois pegamos e pegamos novamente porque não o removemos.
‫Na verdade, se o pegamos duas vezes por acidente, acho que devo ter feito, então ele adiciona a tag duas vezes.
‫Então, gostaria que removesse a etiqueta quando liberarmos o ator.
‫Então você vai pegar o ator no lançamento lembrando que você pode usar esse dono para pegar o
‫ator dono.
‫Se você já possui um componente, você pode obter o array de tags desse ator e então pode chamar
‫remove nele com a tag que deseja remover do array.
‫E finalmente vá em frente e teste, veja se funciona.
‫Pause o vídeo e vá em frente.
‫OK.
‫Bem vindo de volta.
‫Direita.
‫Então eu vou parar, jogar, voltar para o código do Visual Studio e vamos para o lançamento onde
‫temos este componente get grabs e não igual a null.
‫E então estamos liberando coisas.
‫Bem, precisamos obter o componente terrestre, mas também precisamos obter o ONA desse componente de captura.
‫Então, vá do componente get grab e faça com que o proprietário mantenha essa linha curta.
‫Vou colocar em uma variável.
‫Um ator agarrado ator é igual a handle get agarrado componente get owner.
‫Então, com esse ator agarrado, podemos fazer as tags de seta do ator agarrado e, em seguida, faremos as tags dot
‫remove e removeremos o agarrado, certificando-se de que você tenha exatamente a mesma string para os dois.
‫Então, atualmente o fim da linha e vamos recompilar o snap eu apertei play perto da
‫gárgula eu vou buscá-lo aperte F8.
‫Vamos dar uma olhada nas gárgulas, ver que etiquetas temos.
‫Temos a etiqueta agarrada, apenas uma delas desta vez, o que é bom.
‫Agora, se recuperarmos e clicarmos e soltarmos a liberação, podemos F8 selecionar novamente aquela estátua de gárgula, dar uma olhada, suas etiquetas e com
‫certeza, a etiqueta de captura foi embora.
‫Isso nos dará um excelente mecanismo para comunicar a todos os componentes do mundo que
‫essa gárgula, ei, é minha.
‫Atualmente é reboco.
‫Não tente tirá-lo de mim e prendê-lo em qualquer tipo de gatilho de recepção.
‫E é isso que vamos fazer na próxima palestra.
‫Então veremos isso.