‫Ciao e Benvenuto.
‫In questa lezione, aggiungeremo un tag a un oggetto che è attualmente in fase di cattura.
‫Quindi, se prendo questo gargoyle, combatto e do un'occhiata alla statua del Gargoyle, ora puoi vederla.
‫Ha questo tag afferrato attaccato.
‫Se vado avanti, rilascio il gargoyle e guardo di nuovo, puoi vedere che il tag scompare.
‫Quindi questo comunicherà ad altre cose del gameplay e vedo che i gargoyle sono attualmente detenuti e
‫che non dovrebbero essere portati via.
‫Entriamo e vediamo come implementarlo.
‫Quindi al momento, quando abbiamo lasciato cadere il gargoyle nell'area del grilletto, quello che succede è che l'area
‫del grilletto strappa via il gargoyle e non aspetta che finiamo di lasciarlo andare.
‫E questo perché l'area del grilletto non ha idea del fatto che quel gargoyle sia trattenuto da un
‫grabber.
‫Quindi, per farlo, comunica ai componenti del trigger che abbiamo una sorta di presa sul gargoyle, useremo di
‫nuovo i tag, tranne che questa volta li aggiungeremo e rimuoveremo a livello di codice e lo faremo
‫lo rifarò nel grabber.
‫CP Quindi apriamolo nel codice di Visual Studio e diamo un'occhiata alla nostra funzione di cattura in cui attualmente ciò che
‫stiamo facendo con il componente che abbiamo colpito è che stiamo semplicemente andando avanti e risvegliando tutti i corpi
‫rigidi.
‫Quindi quello che vogliamo fare ora è aggiungere un nuovo tag.
‫Come lo facciamo?
‫Bene, prima di tutto, dobbiamo entrare in contatto con l'attore in questione.
‫Quindi dovremmo colpire i punti dei risultati, ottenere l'attore e quindi utilizzare il puntatore dell'attore.
‫Quindi Arrow possiamo cercare i tag.
‫Ora tags è una proprietà che è un array t.
‫Quindi abbiamo visto che qui è un array t di f nomi.
‫Quindi dobbiamo essere in grado di manipolare questo array t per aggiungere e rimuovere tag da esso.
‫Quindi torniamo all'array t e vediamo cosa abbiamo a disposizione.
‫Se cerchiamo ADD, puoi vedere che c'è un sacco di funzionalità in cui puoi passare il tipo di
‫elementi, che nel nostro caso è un nome F e aggiunge un nuovo elemento alla fine dell'array e fa tutti i lavori
‫che deve fare per assicurarsi di avere spazio per esso.
‫Se cerchi remove, ci sono un sacco di cose che menzionano la rimozione, ma solo alcuni metodi che
‫in realtà hanno il nome remove.
‫E puoi vedere che rimuove molte istanze di un elemento mentre si trovano nell'array.
‫Quindi, quello che dice sta dicendo che se ha quell'elemento nell'array, rimuoverà tutte le istanze di
‫quell'elemento dall'array.
‫Quindi, se inserisci più tag con lo stesso nome, li rimuoverebbe tutti.
‫Considerando che se guardi più in basso c'è una rimozione e questo rimuoverebbe un elemento in un
‫indice specifico.
‫Ora vogliamo decisamente il formato piuttosto che quest'ultimo perché vogliamo rimuovere dal nome del tag che
‫chiameremo semplicemente afferrato.
‫Quindi iniziamo con l'aggiunta, torneremo nel codice di Visual Studio e avremo questo array di tag.
‫Quindi quello che possiamo fare con esso è che possiamo semplicemente fare un punto perché non è un puntatore è l'array effettivo.
‫Quindi chiameremo ADD e quindi aggiungeremo un nome F per il quale possiamo semplicemente usare
‫una stringa chiamata afferrata in questo modo.
‫Quindi questa maglietta, quando prendiamo l'oggetto, aggiungiamo un tag che dice che è stato afferrato.
‫Andiamo avanti e compiliamo questo e controlliamo.
‫Una volta fatto, andiamo avanti e premiamo play e proviamo a raccogliere il gargoyle in questo modo, quindi
‫premo F otto al possesso e dovremmo essere in grado di selezionare il nostro attore di gargoyle, scorrere verso il basso e dare un'occhiata
‫al suo tag attore.
‫Quindi è nella sezione ACT.
‫Su quell'anticipo possiamo dare un'occhiata ai tag.
‫Possiamo vedere che ci sono tre tag lì.
‫Attualmente ne abbiamo sbloccato uno e poi l'abbiamo afferrato e poi afferrato di nuovo perché non l'abbiamo rimosso.
‫In realtà, se lo prendiamo due volte per caso, penso di averlo fatto, quindi aggiunge il tag due volte.
‫Quindi vorrei che rimuovessi il tag quando rilasciamo l'attore.
‫Quindi ti metterai in contatto con l'attore durante il rilascio ricordando che puoi usare quel proprietario per entrare in contatto
‫con l'attore proprietario.
‫Se hai già un componente, puoi ottenere l'array di tag da quell'attore e quindi puoi chiamare remove
‫su di esso con il tag che vuoi rimuovere dall'array.
‫E infine vai avanti e provalo, vedi se funziona.
‫Metti in pausa il video e prova.
‫Bene.
‫Ben tornato.
‫Giusto.
‫Quindi mi fermerò, giocherò, tornerò al codice di Visual Studio e andremo alla versione in cui abbiamo
‫questo componente get grabs e non uguale a null.
‫E poi stiamo rilasciando le cose.
‫Bene, dobbiamo ottenere il componente di terra, ma dobbiamo anche ottenere ONA di quel componente di presa.
‫Quindi freccia dal componente Ottieni afferra e chiedi al proprietario di mantenere questa linea breve.
‫Lo metto in una variabile.
‫Un attore afferrato attore è uguale a maneggiare ottenere afferrato componente ottenere proprietario.
‫Quindi con quell'attore afferrato possiamo eseguire i tag freccia dell'attore afferrato e quindi faremo rimuovere i punti dai
‫tag e rimuoveremo afferrati assicurandoci di avere la stessa identica stringa per i due.
‫Quindi attualmente alla fine della linea e ricompiliamo lo snap, premo play vicino al gargoyle,
‫vado a prenderlo, premi F8.
‫Diamo un'occhiata ai gargoyle, vediamo quali tag abbiamo.
‫Abbiamo il tag afferrato, solo uno questa volta, il che è positivo.
‫Ora, se riprendiamo il possesso e facciamo clic e rilasciamo il rilascio, allora possiamo selezionare di nuovo con F8 quella statua del gargoyle, dare un'occhiata, i suoi tag e,
‫come se non bastasse, il tag di presa è sparito.
‫Quindi questo ci darà un eccellente meccanismo per comunicare a tutti i componenti del mondo che
‫questo gargoyle, ehi, è mio.
‫Attualmente è malta.
‫Non provare a portarlo via da me e bloccarlo in qualsiasi tipo di trigger di ricezione.
‫Ed è quello che faremo nella prossima lezione.
‫Quindi lo vedremo.