 Fala galera, Henrique aqui e nesse vídeo vou estar mostrando como fazer unidades selecionáveis pela Carte de Seleção. Bom, o conceito é bem simples, nem todas as unidades que estão no jogo são selecionáveis, então a gente precisa informar para a Carte de Seleção quais delas são e quais delas não são. Nesse exemplo do Dota 2 dá para a gente perceber que nem todas as unidades que estão dentro da Carte de Seleção são selecionadas, por exemplo as árvores não estão sendo selecionadas apenas os objetos do jogador. Lembra que no script do último vídeo a gente deixa uma variável declarada, um array, então é ele que a gente vai usar para estar listando os objetos selecionáveis da cena. Então para a gente listar esses objetos e depois retirá-los da lista caso necessário a gente vai fazer uso da classe Array. Ela vai nos fornecer três funções para a gente usar na nossa classe, apende, com isso a gente vai inserir os objetos na lista só uma observação, essa função sempre vai inserir os objetos no final da lista. Find, essa a gente vai usar para poder encontrar o objeto que a gente está querendo retirar da lista caso necessário. E Remove, essa daqui é para efetivamente retirar o objeto da lista. Na construção dos nossos objetos é preciso estabelecer um padrão de design, os mais conhecidos são os padrões por herança de classe e por componentes. No padrão de componentes, também conhecido como padrão modular, a gente cria um objeto que faz referência a outro e anexa comportamentos para ele. O padrão de classes vai garantir que todos os objetos que sejam filhos de um outro objeto herdem o comportamento dele, daí a gente pode fazer assim, o objeto pai que seja selecionável e a gente cria filhos que vão herdar esse comportamento. O meu padrão junta esses dois, a gente cria um componente, anexa ele no objeto e instancia novas classes a partir dessa. No script do componente que a gente vai usar, eu coloquei duas variáveis que fazem referência ao objeto que vai ser inserido na lista da caixa de seleção. Daí, assim que esse componente entra em cena, ele vai encontrar a caixa de seleção na cena. Aqui é muito importante que você define exatamente qual caminho que leva ao node fazer referência à caixa de seleção. Por isso eu prefiro fazer desse jeito, se eu fosse usar caminhos relativos eu poderia ter alguns problemas durante o instanciamento desses objetos. E por fim, ele adiciona um objeto que ele está anexado na lista de objetos selecionáveis. Com isso, basta a gente instanciar esse componente na cena dos objetos que a gente quer que sejam selecionáveis e depois preencher a variável que a gente tinha reservado. A partir daí, a gente pode criar vários outros objetos que vão herdar essa capacidade de serem selecionados. Uma coisa que eu acho muito da hora aqui do Godot é que é possível fazer esse esquema de herança de classes de uma forma bem mais visual. E aí com esses novos objetos a gente pode acrescentando outros comportamentos, outras instâncias de nodes, qualquer outra coisa, é só ir agregando um a outro. Agora no script do objeto, antes a gente estava no componente ainda, no meu caso eu preciso declarar o sinal que eu emiti no loop da caixa de seleção, para isso basta usar a palavra chave signal e usar o nome do sinal que a gente vai estar emitindo. Lembrando que nesse caso o meu sinal perde um argumento e a partir daí você está ali para fazer o que você quiser com esse objeto. Eu vou fazer ele habilitar uma luz para dar um feedback visual. O interessante dessa abordagem por sinais é que eu posso usar o resultado daquelas operações que a gente usou para saber se o objeto está dentro ou não da caixa de seleção e passa ele como argumento para outras funções. Nesse caso, como ele é um resultado buliano, eu vou usá-lo para habilitar ou desabilitar a luz. E esse é o resultado aqui do nosso objeto selecionável, lembrando que esse algoritmo que eu acabei de falar, ele vai funcionar também para o objeto 3D, um objeto spatial, é só você lembrar sempre de estar colocando o sinal declarado do jeito certinho. Qualquer dúvida pode me postar aí nos comentários que eu vou responder ou pelo menos tentar. Galera, eu abri uma página no Patreon, é isso aí, se vocês quiserem apoiar o canal e ajudar a gente a estar melhorando cada vez mais o conteúdo e a qualidade dos vídeos, vai lá no Patreon, dá aquela ajuda para a gente, tem vários tipos de retribuições lá, tem a sociedade secreta aqui do nosso canal lá no Discord, que é para a galera que ajuda a gente no Patreon, então dá uma olhada lá, eu acho que vocês vão se interessar. A página é essa que está aí na tela e tem o link também na descrição do vídeo. Bom galera, é isso aí, nos vemos na próxima semana e continuem desenvolvendo, falou!