﻿1
00:00:04,330 --> 00:00:05,080
‫Ciao e Benvenuto.

2
00:00:05,080 --> 00:00:11,230
‫In questa lezione, faremo in modo che i nostri componenti di innesco vengano stampati rivedendoli quando si trova in

3
00:00:11,410 --> 00:00:14,770
‫uno spazio vuoto e quando inseriamo il gargoyle, si sbloccherà.

4
00:00:14,950 --> 00:00:17,530
‫E se lo tolgo di nuovo, sarà di nuovo bloccato.

5
00:00:17,980 --> 00:00:23,110
‫E il modo in cui lo faremo è estrarre la nostra funzionalità per scoprire se

6
00:00:23,110 --> 00:00:26,140
‫abbiamo un attore accettabile nella sua funzione separata.

7
00:00:26,290 --> 00:00:29,140
‫E imparerò a conoscere i rendimenti anticipati entro quattro cicli.

8
00:00:29,380 --> 00:00:30,820
‫Per farlo, tuffiamoci.

9
00:00:31,950 --> 00:00:36,450
‫Quindi questo pezzo di codice che abbiamo e il componente tecnologico sta già iniziando a sembrare una funzione per

10
00:00:36,450 --> 00:00:36,830
‫me.

11
00:00:36,840 --> 00:00:43,560
‫In sostanza, è una funzione che si impossessa dell'attore accettabile, se ne abbiamo uno, quindi possiamo andare

12
00:00:43,560 --> 00:00:49,470
‫avanti al nostro componente trigger punto H e nella sezione privata creare tale funzione.

13
00:00:49,740 --> 00:00:51,810
‫Ora, quale dovrebbe essere il suo tipo di restituzione?

14
00:00:51,840 --> 00:00:58,920
‫Bene, penso che dovrebbe essere un puntatore attore A, che può sempre essere un puntatore nullo se non c'è un attore

15
00:00:58,920 --> 00:00:59,490
‫accettabile.

16
00:00:59,850 --> 00:01:05,160
‫Quindi possiamo quindi chiamare questo attore tra parentesi vuote.

17
00:01:05,160 --> 00:01:06,420
‫Non abbiamo bisogno di dargli niente.

18
00:01:06,420 --> 00:01:12,180
‫E poiché non cambia la nostra funzione, possiamo renderla costante.

19
00:01:12,540 --> 00:01:17,700
‫Andiamo avanti e implementiamo questo in questo file heap andando a un rientro.

20
00:01:17,700 --> 00:01:26,760
‫È dargli un'attivazione dei due punti del componente e sostituirlo con punto e virgola con parentesi graffe.

21
00:01:27,630 --> 00:01:35,490
‫E poi il codice che vogliamo è fondamentalmente il contenuto del componente tick, tranne per il fatto che ciò che non

22
00:01:35,490 --> 00:01:37,440
‫vogliamo fare è solo registrarlo.

23
00:01:37,440 --> 00:01:39,360
‫Abbiamo sbloccato un attore qui.

24
00:01:39,780 --> 00:01:47,250
‫Quello che vogliamo fare è che nel caso in cui abbiamo trovato questo attore, vogliamo essenzialmente restituirlo.

25
00:01:47,250 --> 00:01:48,810
‫Quindi ci sono un paio di modi in cui potremmo farlo.

26
00:01:48,810 --> 00:01:56,310
‫Potremmo dire all'inizio della nostra funzione che c'è un puntatore attore, che sarà l'attore di ritorno,

27
00:01:56,310 --> 00:02:00,570
‫e per impostazione predefinita lo impostiamo su null pointer.

28
00:02:00,990 --> 00:02:04,170
‫Quindi non c'è nessun attore che torneremo.

29
00:02:04,470 --> 00:02:09,300
‫Ma quando esaminiamo il nostro ciclo for e alla fine troviamo un attore che

30
00:02:09,300 --> 00:02:16,740
‫ha il tag accettabile, allora possiamo dire, Ehi, l'attore di ritorno dovrebbe effettivamente puntare al puntatore dell'attore che abbiamo trovato qui

31
00:02:17,010 --> 00:02:17,700
‫nell'array.

32
00:02:18,030 --> 00:02:22,410
‫E poi alla fine del ciclo for, dopo che il ciclo completo è terminato, abbiamo esaminato tutti gli attori.

33
00:02:22,680 --> 00:02:28,620
‫Possiamo andare avanti e restituire la variabile dell'attore di ritorno perché è il tipo giusto.

34
00:02:29,430 --> 00:02:30,150
‫Va bene.

35
00:02:30,420 --> 00:02:35,340
‫Ma ci richiede di creare una variabile e ci richiede anche di eseguire l'intero ciclo completo,

36
00:02:35,340 --> 00:02:37,860
‫anche se abbiamo già trovato un attore accettabile.

37
00:02:38,550 --> 00:02:42,150
‫Quindi un modo migliore per farlo è utilizzare un ritorno anticipato.

38
00:02:42,150 --> 00:02:48,180
‫E abbiamo già visto questo genere di cose prima in Prendo un PC in cui l'abbiamo fatto.

39
00:02:48,180 --> 00:02:54,180
‫Se le maniglie della fisica sono uguali a un piccolo puntatore, allora ritorniamo e il resto del componente non ha bisogno

40
00:02:54,180 --> 00:02:55,080
‫di essere eseguito.

41
00:02:55,350 --> 00:02:59,910
‫Possiamo usare lo stesso tipo di efficienza anche all'interno per i salti.

42
00:03:00,300 --> 00:03:06,870
‫Quindi quello che farò è che se troviamo l'attore accettabile, faremo solo un attore di ritorno.

43
00:03:06,900 --> 00:03:11,750
‫Stiamo letteralmente restituendo il puntatore che abbiamo appena trovato in questo ciclo for e il resto del ciclo

44
00:03:11,790 --> 00:03:13,170
‫for non deve essere eseguito.

45
00:03:13,890 --> 00:03:20,280
‫Tuttavia, se scendiamo fino alla fine del ciclo for e non abbiamo trovato nulla, non abbiamo restituito nulla,

46
00:03:20,280 --> 00:03:23,790
‫il ritorno arresterebbe il ciclo for, lascerebbe la funzione.

47
00:03:24,060 --> 00:03:30,150
‫Ma se arriviamo alla fine, dobbiamo restituire qualcosa per impostazione predefinita ed è qui che possiamo semplicemente restituire

48
00:03:30,480 --> 00:03:31,680
‫un puntatore nullo.

49
00:03:31,980 --> 00:03:33,390
‫Quindi questo è il valore predefinito.

50
00:03:33,390 --> 00:03:35,430
‫Significa che abbiamo attraversato l'intero ciclo for.

51
00:03:35,730 --> 00:03:37,980
‫Abbiamo visto che non esiste un attore accettabile.

52
00:03:37,990 --> 00:03:40,170
‫Nessuno degli attori si sovrapponeva al nostro.

53
00:03:41,330 --> 00:03:42,770
‫Con l'etichetta corretta.

54
00:03:42,830 --> 00:03:44,960
‫Quindi restituiamo un puntatore nullo.

55
00:03:45,380 --> 00:03:51,050
‫Quindi ora ciò significa che ho questa variabile attore di ritorno ridondante di cui posso andare avanti e liberarmene.

56
00:03:51,380 --> 00:03:53,450
‫E questo si legge davvero in modo abbastanza pulito.

57
00:03:53,450 --> 00:03:57,830
‫Stiamo attraversando, stiamo ottenendo gli attori sovrapposti, stiamo facendo un giro completo su di loro.

58
00:03:58,130 --> 00:04:02,600
‫Se ogni attore lo testiamo, ha il tag accettabile?

59
00:04:02,870 --> 00:04:04,520
‫Se lo fa, ci fermiamo lì.

60
00:04:04,550 --> 00:04:05,480
‫Quello lo restituiamo.

61
00:04:05,780 --> 00:04:08,180
‫Se nessuno di loro ce l'ha, restituiamo un puntatore nullo.

62
00:04:08,390 --> 00:04:11,750
‫Quindi ti sfidiamo ad accedere se troviamo l'attore.

63
00:04:11,750 --> 00:04:14,300
‫Quindi chiama la nostra funzione nel tuo componente tick.

64
00:04:14,630 --> 00:04:20,180
‫Controlla se il puntatore è nullo e logga in entrambi i casi, sia se abbiamo un attore sia se non

65
00:04:20,180 --> 00:04:21,860
‫usiamo un'istruzione F e un'altra.

66
00:04:21,860 --> 00:04:23,300
‫Metti in pausa il video e prova.

67
00:04:26,430 --> 00:04:26,780
‫Bene.

68
00:04:26,790 --> 00:04:27,600
‫Ben tornato.

69
00:04:27,990 --> 00:04:30,090
‫Quindi torniamo ai nostri componenti tecnologici.

70
00:04:30,090 --> 00:04:36,540
‫Quello che faremo è creare una variabile, un puntatore dell'attore, che sarà l'attore, che

71
00:04:36,990 --> 00:04:41,310
‫è uguale a ottenere un attore accettabile che faremo.

72
00:04:41,310 --> 00:04:50,580
‫Se attore non è uguale a puntatore nullo, nel corpo di questo faremo uno sblocco della finestra di dialogo e poi nell'altro registro

73
00:04:50,580 --> 00:04:57,750
‫questa volta rivedendo perché questo è il comportamento che voglio che il nostro componente trigger e lo

74
00:04:57,750 --> 00:05:03,120
‫sposti insieme sia il se hai il gargoyle lì dentro, si sbloccherà.

75
00:05:03,120 --> 00:05:09,780
‫Utilizzerà il motore e si ribloccherà se in pratica deselezioniamo la casella di controllo

76
00:05:09,780 --> 00:05:13,680
‫in movimento se rimuoviamo il gargoyle, quindi compiliamolo.

77
00:05:13,890 --> 00:05:15,750
‫Quindi andiamo avanti e premiamo play.

78
00:05:15,960 --> 00:05:19,380
‫Puoi vedere che si sta ribloccando perché non abbiamo un gargoyle lì dentro.

79
00:05:19,590 --> 00:05:22,530
‫Prendi il gargoyle e portalo qui e il gioco è fatto.

80
00:05:22,530 --> 00:05:28,350
‫Ora si sta sbloccando, estrailo e si sta ribloccando sbloccando, riapparendo perfetto.

81
00:05:28,350 --> 00:05:29,970
‫Se entro, non succede nulla.

82
00:05:29,970 --> 00:05:30,870
‫Si sta solo ribloccando.

83
00:05:31,350 --> 00:05:37,860
‫Quindi siamo stati in grado di scoprire con successo se abbiamo qualcosa nel nostro componente trigger o

84
00:05:37,980 --> 00:05:38,610
‫meno.

85
00:05:38,940 --> 00:05:40,650
‫Ora dobbiamo solo fargli fare qualcosa.

86
00:05:40,650 --> 00:05:42,660
‫E questo sarà l'argomento della prossima conferenza.

87
00:05:42,690 --> 00:05:43,290
‫Lo vedrò.

