﻿1
00:00:04,120 --> 00:00:04,510
‫Hej.

2
00:00:04,510 --> 00:00:05,440
‫Witamy spowrotem.

3
00:00:05,470 --> 00:00:11,740
‫Teraz skonfigurowaliśmy funkcję wywołania zwrotnego powiązaną z delegatem w przypadku poniesienia jakichkolwiek szkód.

4
00:00:11,830 --> 00:00:16,210
‫A ostatnim krokiem jest faktyczne wygenerowanie tego zdarzenia uszkodzenia.

5
00:00:16,210 --> 00:00:19,690
‫I chcemy to zrobić, gdy nasz pocisk w coś trafi.

6
00:00:19,690 --> 00:00:25,540
‫Kiedy już nadamy dla tego delegata, możemy uszkodzić przedmiot, w który trafiliśmy.

7
00:00:25,540 --> 00:00:32,110
‫Będziemy transmitować to wydarzenie, używając obrażeń zadawanych, które należą do klasy statyki

8
00:00:32,110 --> 00:00:32,830
‫rozgrywki.

9
00:00:32,860 --> 00:00:36,310
‫Przyjrzyjmy się więc zastosowanej funkcji obrażeń.

10
00:00:36,400 --> 00:00:44,050
‫Oto dokumentacja dotycząca obrażeń zadanych, które według niego rani określonego aktora obrażeniami ogólnymi.

11
00:00:44,050 --> 00:00:47,590
‫Jest to więc ogólna funkcja do zadawania obrażeń.

12
00:00:47,590 --> 00:00:52,510
‫A to, co zrobimy w odpowiedzi na transmisję dla tego delegata, zależy od nas.

13
00:00:52,540 --> 00:00:59,140
‫Teraz widzimy, że musimy uwzględnić statykę rozgrywki, a w składni widzimy kilka parametrów wejściowych.

14
00:00:59,140 --> 00:01:02,110
‫Teraz otrzymujemy opis parametrów.

15
00:01:02,110 --> 00:01:08,290
‫Jeśli będziemy przewijać w dół, zobaczymy, że uszkodzony aktor ma się dobrze, aktor, który

16
00:01:08,290 --> 00:01:13,660
‫otrzyma obrażenia podstawowe, to podstawowe obrażenia, aby zastosować tutaj naprawdę opisową dokumentację.

17
00:01:13,690 --> 00:01:14,170
‫Dziękuję.

18
00:01:14,170 --> 00:01:19,930
‫Inicjator zdarzenia Epic to kontroler, który był odpowiedzialny za spowodowanie tych szkód.

19
00:01:19,930 --> 00:01:23,020
‫I mówi na przykład o graczu, który strzelił z broni.

20
00:01:23,020 --> 00:01:26,260
‫Kiedy mówi gracz, odnosi się do tego kontrolera.

21
00:01:26,260 --> 00:01:31,120
‫Następnie mamy sprawcę szkody, czyli aktora, który faktycznie spowodował szkodę.

22
00:01:31,120 --> 00:01:33,160
‫Mówi granat, który eksplodował.

23
00:01:33,160 --> 00:01:35,980
‫W naszym przypadku będzie to pocisk, który eksplodował.

24
00:01:35,980 --> 00:01:43,000
‫I na koniec mamy klasę typu obrażeń, która jest klasą opisującą wyrządzone obrażenia.

25
00:01:43,000 --> 00:01:49,690
‫Teraz z powrotem w sekcji składni, możemy zobaczyć typy tych danych wejściowych i widzimy, że

26
00:01:49,690 --> 00:01:56,350
‫klasa typu obrażeń jest podklasą i widzieliśmy wcześniej, że podklasa TW spełnia parametr wejściowy klasy

27
00:01:56,350 --> 00:01:57,550
‫typu U.

28
00:01:57,550 --> 00:02:03,730
‫Cóż, kiedy wywołamy obrażenia aplikacyjne, możemy przekazać klasę U reprezentującą typ obrażeń, którego chcielibyśmy

29
00:02:03,730 --> 00:02:04,360
‫użyć.

30
00:02:04,360 --> 00:02:09,280
‫Za chwilę porozmawiamy o tym, jak spełnić ten parametr wejściowy.

31
00:02:09,280 --> 00:02:15,190
‫Tak więc funkcja statyki rozgrywki w odcieniu, zadawane obrażenia będą wymagały kilku parametrów wejściowych.

32
00:02:15,190 --> 00:02:20,920
‫Zastanówmy się więc, jak przekazać odpowiednie wartości, gdy wywołamy tę funkcję,

33
00:02:20,920 --> 00:02:24,100
‫widzieliśmy, że najpierw potrzebujemy uszkodzonego aktora.

34
00:02:24,310 --> 00:02:30,220
‫Cóż, wróćmy do CP pocisku, gdzie chcielibyśmy nazwać zadawanie obrażeń.

35
00:02:30,220 --> 00:02:34,660
‫Chcielibyśmy to zrobić tutaj w momencie trafienia i nie potrzebujemy już tych dzienników.

36
00:02:34,660 --> 00:02:42,190
‫Więc po prostu je usunę i zauważę, że nasze wywołanie zwrotne przy trafieniu otrzymuje pewne dane wejściowe, gdy

37
00:02:42,190 --> 00:02:43,450
‫zostanie wywołane.

38
00:02:43,450 --> 00:02:49,240
‫Gdy zostanie wyemitowany delegat trafienia w komponencie, zobaczymy, że mamy innego aktora.

39
00:02:49,240 --> 00:02:55,930
‫Mamy więc dostęp do aktora, który został trafiony pociskiem i to jest aktor, którego chcielibyśmy

40
00:02:55,940 --> 00:02:56,740
‫uszkodzić.

41
00:02:56,740 --> 00:02:59,320
‫To zajmuje się pierwszym parametrem wejściowym.

42
00:02:59,320 --> 00:03:01,390
‫To będzie ten inny aktor.

43
00:03:01,390 --> 00:03:07,990
‫Następnie potrzebujemy wielkości obrażeń, co oznacza, że nasz pocisk powinien mieć zmienną obrażeń, abyśmy

44
00:03:07,990 --> 00:03:10,360
‫wiedzieli, ile obrażeń zadać.

45
00:03:10,510 --> 00:03:17,650
‫Więc dlaczego nie przejdziemy do efektów pocisku i dodamy zmienną obrażeń, a to może być pływak.

46
00:03:17,650 --> 00:03:23,770
‫Możemy więc po prostu nazwać to uszkodzenie i zainicjalizować je do wartości, powiedzmy coś w rodzaju

47
00:03:24,040 --> 00:03:29,890
‫50 F, a ponieważ jest to coś, z czym prawdopodobnie chcielibyśmy poeksperymentować, możemy nadać temu właściwość

48
00:03:29,890 --> 00:03:32,860
‫U, aby ją ujawnić i edytować gdziekolwiek.

49
00:03:32,860 --> 00:03:37,780
‫Więc teraz mamy ilość obrażeń do przekazania, kiedy wołamy o obrażenia.

50
00:03:38,080 --> 00:03:44,140
‫Teraz następny parametr to inicjator i widzieliśmy, że jest to kontroler typu A.

51
00:03:44,140 --> 00:03:46,870
‫Jak więc zdobędziemy kontroler?

52
00:03:46,870 --> 00:03:53,470
‫Cóż, widzieliśmy, że możemy uzyskać właściciela konkretnego komponentu za pomocą funkcji get owner.

53
00:03:53,470 --> 00:04:00,820
‫I to zwraca aktora, który jest właścicielem konkretnego komponentu, te pociski są generowane dynamicznie.

54
00:04:00,820 --> 00:04:06,640
‫Więc musimy się upewnić, że jeśli zamierzamy zadzwonić do get owner, że właściciel jest ustawiony teraz, odradzamy

55
00:04:06,640 --> 00:04:08,410
‫je z pionka podstawowego.

56
00:04:08,410 --> 00:04:10,390
‫Więc jeśli pójdziemy do pionka bazowego.

57
00:04:10,600 --> 00:04:18,880
‫CP Oto wiersz, w którym tworzymy aktora, ale Spawn Actor zwraca również wskaźnik do odrodzonego aktora,

58
00:04:18,880 --> 00:04:22,690
‫abyśmy mogli zapisać to w zmiennej lokalnej.

59
00:04:22,690 --> 00:04:29,220
‫Na przykład, moglibyśmy powiedzieć auto pocisk i przypisać wartość zwróconą przez aktora odradzania.

60
00:04:29,230 --> 00:04:35,770
‫Teraz, jeśli nie jesteś zaznajomiony z auto, pozwala kompilatorowi określić typ, jaki ma przypisać do tej

61
00:04:35,770 --> 00:04:36,790
‫nowej zmiennej.

62
00:04:36,790 --> 00:04:42,620
‫Jeśli najedziesz na niego kursorem, zobaczysz, że ma wskaźnik pocisku typu A, ponieważ to

63
00:04:42,670 --> 00:04:45,610
‫właśnie podpisujemy z funkcji aktora odradzania.

64
00:04:45,610 --> 00:04:52,960
‫To jest to samo, co gdybyśmy umieścili wskaźnik pocisku właśnie tutaj i teraz możemy uzyskać dostęp do

65
00:04:52,960 --> 00:04:54,400
‫nowo powstałego pocisku.

66
00:04:54,400 --> 00:04:57,820
‫A powodem, dla którego chcemy to zrobić, jest to, że chcielibyśmy ustawić jego właściciela.

67
00:04:57,820 --> 00:05:02,710
‫Chcielibyśmy upewnić się, że jego właściciel jest ustawiony na pionka, który go zrodził.

68
00:05:02,920 --> 00:05:04,930
‫Więc możemy powiedzieć pocisk.

69
00:05:04,930 --> 00:05:08,010
‫Jest też funkcja dla tego właściciela zestawu.

70
00:05:08,020 --> 00:05:15,400
‫Właściciel zestawu bierze aktora i zamierzamy go przekazać, aby za każdym razem, gdy jeden z naszych pionków

71
00:05:15,400 --> 00:05:18,250
‫odrodzi pocisk, ustawi tego właściciela pocisków.

72
00:05:18,250 --> 00:05:23,380
‫W ten sposób, jeśli kiedykolwiek wywołamy get owner dalej w dół linii, otrzymamy instancję

73
00:05:23,380 --> 00:05:25,700
‫klasy, która jest właścicielem tego pocisku.

74
00:05:25,720 --> 00:05:33,190
‫Wracając do DHCP pocisku, mamy wywołanie funkcji Get Owner i możemy to zapisać w zmiennej

75
00:05:33,190 --> 00:05:33,910
‫lokalnej.

76
00:05:33,940 --> 00:05:40,600
‫Zamierzam śmiało użyć auto ponownie i nazwać to moim właścicielem i ustawić go na wynik zwrócony przez

77
00:05:40,600 --> 00:05:41,590
‫get owner.

78
00:05:41,920 --> 00:05:47,570
‫Więc teraz mamy wskaźnik lokalnego aktora, który przechowuje wartość właściciela.

79
00:05:47,590 --> 00:05:52,190
‫Teraz możemy uzyskać dostęp do kontrolera inicjatora z tego aktora.

80
00:05:52,210 --> 00:05:57,640
‫Teraz, zanim to zrobimy, dobrze jest sprawdzić, czy mój właściciel nie jest pusty.

81
00:05:57,640 --> 00:06:04,460
‫Więc powiem, że jeśli mój właściciel jest równy null równa się null wskaźnikowi, to po prostu zwrócę.

82
00:06:04,480 --> 00:06:09,640
‫Teraz, jeśli ciało ma taką samą instrukcję, możesz umieścić ją w tej samej linii bez nawiasów

83
00:06:09,640 --> 00:06:11,890
‫klamrowych, na wypadek, gdybyś nie wiedział.

84
00:06:11,890 --> 00:06:19,470
‫A null pointer to słowo kluczowe w C++, które pozwala sprawdzić, czy wskaźnik jest pustym wskaźnikiem.

85
00:06:19,480 --> 00:06:25,760
‫Więc jeśli mój właściciel ma wartość null, wrócimy wcześniej z funkcji i nie zrobimy nic więcej.

86
00:06:25,780 --> 00:06:31,030
‫Teraz, jak mówiłem, możemy pobrać kontroler inicjatora od mojego właściciela i

87
00:06:31,030 --> 00:06:35,500
‫to jest właśnie funkcja o nazwie get instigator controller.

88
00:06:36,400 --> 00:06:40,590
‫A jeśli najedziemy na to kursorem, zobaczymy, że zwraca wskaźnik kontrolera A.

89
00:06:40,600 --> 00:06:48,250
‫Po prostu użyję auto i przechowam to w zmiennej lokalnej, którą będę nazywać inicjatorem właściciela.

90
00:06:50,660 --> 00:06:54,460
‫Więc teraz wiemy, co uchodzić za inicjatora.

91
00:06:54,470 --> 00:07:00,800
‫Następnym sygnałem wejściowym jest sprawca obrażeń, a to aktor, który zadaje obrażenia pociskowi.

92
00:07:00,800 --> 00:07:02,930
‫To będzie po prostu to.

93
00:07:02,930 --> 00:07:07,490
‫Pozostaje ostatni parametr wejściowy, czyli rodzaj obrażeń.

94
00:07:07,490 --> 00:07:12,740
‫Widzieliśmy, że jest to podklasa, co oznacza, że do przejścia potrzebujemy odpowiedniej klasy użycia.

95
00:07:12,740 --> 00:07:17,960
‫N Teraz masz nierealną dokumentację silnika dla twojego typu uszkodzenia.

96
00:07:17,960 --> 00:07:24,050
‫Mówi, że typ uszkodzenia ma na celu zdefiniowanie i opisanie określonej formy uszkodzenia oraz

97
00:07:24,050 --> 00:07:28,370
‫zapewnienie możliwości dostosowania reakcji na uszkodzenia z różnych źródeł.

98
00:07:28,370 --> 00:07:30,890
‫Teraz nie zamierzamy dostosowywać naszych obrażeń.

99
00:07:30,890 --> 00:07:38,090
‫Musimy tylko spełnić parametr wejściowy, co oznacza, że potrzebujemy wartości klasy U, która reprezentuje tę

100
00:07:38,090 --> 00:07:40,070
‫klasę typu obrażeń.

101
00:07:40,310 --> 00:07:48,200
‫Teraz w C++, jeśli chcemy uzyskać klasę YOU dowolnej konkretnej klasy, na przykład typu obrażeń, możemy wywołać

102
00:07:48,200 --> 00:07:51,020
‫funkcję o nazwie klasa statyczna.

103
00:07:51,020 --> 00:07:54,140
‫Jest to dziedziczone z klasy obiektu you.

104
00:07:54,170 --> 00:07:58,070
‫Teraz oczywiście używamy tutaj typu obrażeń, więc będziemy potrzebować tego nagłówka.

105
00:07:58,310 --> 00:08:05,690
‫Więc z dokumentacji skopiuję linię include i wkleję ją tutaj na górze CP pocisku

106
00:08:05,960 --> 00:08:14,450
‫A teraz zobaczysz, że ta statyczna funkcja klasy zwraca wskaźnik klasy U i ta nowa klasa będzie

107
00:08:14,450 --> 00:08:17,780
‫reprezentować nowy typ obrażeń Klasa C++.

108
00:08:17,780 --> 00:08:23,510
‫Teraz, ponieważ nie tworzymy schematu opartego na typie obrażeń i ustawianiu dodatkowych danych, tak

109
00:08:23,510 --> 00:08:26,030
‫naprawdę nie potrzebujemy podklasy zmiennej.

110
00:08:26,150 --> 00:08:32,750
‫Więc w tym przypadku możemy użyć klasy statycznej, a to zwróci klasę U, która reprezentuje ten typ.

111
00:08:32,750 --> 00:08:38,480
‫I możemy to przechowywać w zmiennej, jeśli chcemy, a ja nazwę tę klasę typu obrażeń.

112
00:08:40,390 --> 00:08:45,520
‫I to właśnie możemy podać jako ostatni parametr do zadawania obrażeń.

113
00:08:45,520 --> 00:08:51,250
‫Mamy teraz wszystkie informacje, które musimy przekazać do funkcji zadawania obrażeń.

114
00:08:51,250 --> 00:08:57,100
‫Ale zanim to zrobimy, chciałbym przeprowadzić kilka sprawdzeń, aby upewnić się, że wywołanie tej funkcji

115
00:08:57,100 --> 00:08:58,000
‫jest właściwe.

116
00:08:58,000 --> 00:09:00,090
‫Więc złożę tutaj oświadczenie if.

117
00:09:00,100 --> 00:09:03,550
‫Po pierwsze, chcę się upewnić, że inny aktor nie jest null.

118
00:09:03,550 --> 00:09:06,490
‫Więc umieszczę tutaj innego aktora.

119
00:09:06,490 --> 00:09:13,450
‫Umieszczę tutaj i, aby sprawdzić, czy inny aktor nie jest równy temu aktorowi.

120
00:09:13,450 --> 00:09:19,840
‫Nie chcemy wyrządzić sobie krzywdy, jeśli jesteśmy pociskiem, teraz położę inny koniec i upewnię

121
00:09:19,840 --> 00:09:24,640
‫się, że inny aktor nie jest równy mojemu właścicielowi.

122
00:09:24,760 --> 00:09:28,930
‫Nie byłoby dobrze, gdyby pocisk wyrządził szkody swojemu właścicielowi.

123
00:09:28,930 --> 00:09:35,200
‫A teraz, jeśli wejdziemy w to stwierdzenie if, to wiemy, że właściwe jest wywołanie obrażeń, abyśmy

124
00:09:35,200 --> 00:09:36,550
‫mogli to zrobić.

125
00:09:36,550 --> 00:09:38,290
‫I to będzie twoje wyzwanie.

126
00:09:38,290 --> 00:09:45,070
‫Tak więc w naszej nowej instrukcji if w funkcji wywołania przy trafieniu, statystyki gry stosuje funkcję obrażeń.

127
00:09:45,070 --> 00:09:51,310
‫Oznacza to, że będziesz musiał podać poprawny nagłówek dla statystyk rozgrywki i wiesz, które parametry

128
00:09:51,310 --> 00:09:52,450
‫wejściowe przekazać.

129
00:09:52,570 --> 00:09:58,660
‫Zatrzymaj więc wideo i dodaj teraz wywołanie funkcji, aby zadać obrażenia w funkcji przy trafieniu.

130
00:10:02,740 --> 00:10:03,250
‫Dobra.

131
00:10:03,250 --> 00:10:11,020
‫Więc jestem tutaj w pocisku CP i zamierzam dołączyć plik nagłówkowy ze statystykami rozgrywki, a na stronie

132
00:10:11,020 --> 00:10:17,260
‫Applied Damage Documentation możemy zobaczyć, że zawiera on statystyki rozgrywki kismet slash.

133
00:10:17,980 --> 00:10:22,330
‫Więc zamierzam to tam wkleić i teraz jestem gotowy do wywołania obrażeń.

134
00:10:22,330 --> 00:10:28,060
‫Nazywam cię więc statystyką rozgrywki, która zadaje obrażenia.

135
00:10:28,810 --> 00:10:35,140
‫Teraz, gdy tylko wpiszę te otwierające nawiasy, otrzymuję wyskakujące okienko przypominające mi o parametrach wejściowych, których

136
00:10:35,140 --> 00:10:35,800
‫potrzebuję.

137
00:10:35,800 --> 00:10:40,360
‫A pierwszy to uszkodzony aktor, a to będzie inny aktor.

138
00:10:40,360 --> 00:10:42,760
‫Więc napiszemy następny aktor.

139
00:10:42,760 --> 00:10:50,410
‫Potrzebujemy ilości obrażeń i dodaliśmy to pływające obrażenia w efektach pocisku, które ustawiliśmy na 50.

140
00:10:50,410 --> 00:10:53,170
‫Więc zamierzam przejść do końca obrażeń jako następny.

141
00:10:53,170 --> 00:10:56,920
‫Potrzebujemy inicjatora i mamy inicjatora mojego właściciela.

142
00:10:56,920 --> 00:11:00,010
‫Więc zamierzam przekazać inicjatora mojego właściciela.

143
00:11:00,010 --> 00:11:01,960
‫Następna jest przyczyna szkód.

144
00:11:01,960 --> 00:11:05,500
‫I oczywiście sam pocisk jest przyczyną uszkodzeń.

145
00:11:05,500 --> 00:11:07,210
‫Więc przejdziemy przez to.

146
00:11:07,210 --> 00:11:14,860
‫I na koniec potrzebujemy podklasy typu obrażeń, o których wiemy, że wskaźnik klasy U zaspokoi to i

147
00:11:14,860 --> 00:11:17,980
‫dlatego mamy naszą klasę typu obrażeń.

148
00:11:17,980 --> 00:11:21,910
‫Przejdźmy więc do klasy obrażeń.

149
00:11:21,910 --> 00:11:25,570
‫A teraz wzywamy do zadawania obrażeń.

150
00:11:25,720 --> 00:11:33,040
‫Więc kiedy to nazwiemy, wygenerujemy zdarzenie uszkodzenia, a delegat przy odbiorze będzie transmitował w odpowiedzi

151
00:11:33,040 --> 00:11:39,010
‫na to, co oznacza, że w naszym zdrowiu zostaną wywołane otrzymane obrażenia.

152
00:11:39,010 --> 00:11:42,580
‫Więc po prostu musimy coś zrobić tutaj w otrzymanych obrażeniach.

153
00:11:42,580 --> 00:11:47,440
‫Cóż, sensowne byłoby odebranie tych obrażeń i odjęcie ich od zdrowia.

154
00:11:47,440 --> 00:11:52,510
‫Zanim jednak to zrobimy, chciałbym się upewnić, że obrażenia nie są mniejsze ani równe zeru.

155
00:11:52,810 --> 00:11:59,170
‫F Rozsądne jest przeprowadzenie tych kontroli przed udokumentowaniem uszkodzeń, aby upewnić się, że nie stosujemy wartości, która

156
00:11:59,170 --> 00:12:02,890
‫nie ma żadnego sensu, np. zero lub wartość ujemna.

157
00:12:02,890 --> 00:12:05,740
‫Więc jeśli tak jest, po prostu wrócimy.

158
00:12:05,740 --> 00:12:11,800
‫I oczywiście, jeśli chcesz być sprytny i zrobić to, co ja zrobiłem w pocisku w CP, możemy umieścić

159
00:12:11,800 --> 00:12:12,700
‫tam powrót.

160
00:12:12,700 --> 00:12:19,840
‫Teraz, jeśli przekroczymy tę linię, obrażenia są wartością dodatnią, więc możemy odebrać zdrowie i użyć

161
00:12:19,840 --> 00:12:21,460
‫minus to obrażenia.

162
00:12:21,550 --> 00:12:25,750
‫Aby upewnić się, że to działa, dlaczego nie umieścimy tutaj dziennika euy?

163
00:12:25,750 --> 00:12:37,960
‫Więc dziennik dziennika Yui, tekst ostrzeżenia tymczasowego i możemy po prostu wydrukować wartość zdrowia z procentem F i zdrowiem i

164
00:12:37,960 --> 00:12:40,840
‫dzięki temu możemy skompilować.

165
00:12:40,870 --> 00:12:47,200
‫Teraz, po pomyślnej kompilacji, wskoczymy z powrotem do edytora iz otwartym dziennikiem wyjściowym, włączmy

166
00:12:47,200 --> 00:12:47,980
‫odtwarzanie.

167
00:12:47,980 --> 00:12:51,010
‫Zobaczmy teraz, czy możemy zostać trafieni pociskiem.

168
00:12:51,010 --> 00:12:52,120
‫I tam idziemy.

169
00:12:52,150 --> 00:12:58,810
‫Nasze zdrowie spadło teraz do 50, a jeśli ponownie zostaniemy trafieni, otrzymaliśmy sporo zdarzeń trafienia,

170
00:12:58,810 --> 00:13:02,410
‫ponieważ uderzaliśmy w pocisk wiele razy, bardzo szybko.

171
00:13:02,410 --> 00:13:05,770
‫Ale widzimy, że nasze zdrowie jest właściwie dokumentowane.

172
00:13:05,770 --> 00:13:11,620
‫Musimy więc upewnić się, że wdrażamy prawidłowe zachowanie po śmierci, gdy zdrowie osiągnie zero.

173
00:13:11,620 --> 00:13:17,290
‫Ale musimy również upewnić się, że to zdarzenie trafienia nie zostanie wielokrotnie spamowane.

174
00:13:17,290 --> 00:13:23,560
‫Teraz wiemy, że pocisk powinien zostać zniszczony po trafieniu w coś, więc najlepszym sposobem

175
00:13:23,560 --> 00:13:26,800
‫zapobiegania spamowaniu zdarzenia trafienia jest zniszczenie pocisku.

176
00:13:26,800 --> 00:13:29,290
‫To ostatnia rzecz, jaką zrobimy w tym filmie.

177
00:13:29,290 --> 00:13:36,460
‫Więc wracając do pocisku, zaraz po zadanym uszkodzeniu, możemy zrobić, aby pocisk sam się zniszczył, a to nie

178
00:13:36,460 --> 00:13:38,050
‫może być prostsze.

179
00:13:38,050 --> 00:13:41,110
‫Po prostu wywołujemy funkcję zniszczenia.

180
00:13:41,110 --> 00:13:48,880
‫Więc z jeszcze jedną kompilacją z powrotem w edytorze, możemy iść dalej, zostać trafionym pociskiem i spojrzeć na

181
00:13:48,880 --> 00:13:49,330
‫to.

182
00:13:49,330 --> 00:13:51,520
‫Pocisk zniknął.

183
00:13:51,520 --> 00:13:55,360
‫Czyli powoduje to uszkodzenie, a następnie znika.

184
00:13:55,360 --> 00:14:02,110
‫I oczywiście możemy również przetestować uderzanie w wieże, strzelając w nie pociskami i upewniając się, że

185
00:14:02,110 --> 00:14:04,570
‫te zdarzenia trafienia są wyzwalane.

186
00:14:04,570 --> 00:14:10,750
‫Jak widzicie, mogę to spamować całą masą pocisków i zobaczymy, że

187
00:14:10,750 --> 00:14:16,390
‫wartość życia tej biednej wieży staje się bardzo, bardzo ujemna.

188
00:14:16,540 --> 00:14:23,650
‫Podsumowując, wywołaliśmy funkcję zadawania obrażeń, co zaowocowało transmisją dla delegata przy

189
00:14:23,650 --> 00:14:25,030
‫odbiorze obrażeń.

190
00:14:25,030 --> 00:14:30,130
‫Udokumentowaliśmy zdrowie w komponencie zdrowia i zniszczyliśmy pocisk.

191
00:14:30,130 --> 00:14:32,350
‫Więc teraz zajęliśmy się uszkodzeniami.

192
00:14:32,350 --> 00:14:34,390
‫Jeszcze nie zajęliśmy się śmiercią.

193
00:14:34,390 --> 00:14:38,860
‫To będzie jedna z następnych rzeczy, które omówimy w przyszłym filmie.

194
00:14:39,310 --> 00:14:40,270
‫Zobaczymy się wkrótce.

