﻿1
00:00:04,480 --> 00:00:05,230
‫Hallo en welkom.

2
00:00:05,230 --> 00:00:09,610
‫In deze lezing gaan we iets nieuws introduceren in de gedragsboom, de services.

3
00:00:09,880 --> 00:00:14,530
‫We gaan uitzoeken wat services zijn, hoe ze ons helpen bij aanhoudend hardloopgedrag en hoe we onze

4
00:00:14,530 --> 00:00:16,330
‫eigen services kunnen schrijven in C++.

5
00:00:16,330 --> 00:00:17,170
‫Laten we er meteen in duiken.

6
00:00:18,150 --> 00:00:23,700
‫Nu zijn er nog maar een paar stukjes logica in onze luchtcontroller die niet in onze gedragsboom staan.

7
00:00:24,120 --> 00:00:26,940
‫Een daarvan is het instellen van de startlocatie.

8
00:00:26,970 --> 00:00:29,940
‫Deze wil ik hier nog instellen vanuit de luchtregelaar.

9
00:00:30,600 --> 00:00:35,940
‫Maar dingen als tic, nu dat ik zou willen doen vanuit een gedragsboom.

10
00:00:36,390 --> 00:00:38,070
‫Wat wil ik hier doen?

11
00:00:38,130 --> 00:00:39,690
‫Hoe kom ik eraan.

12
00:00:39,720 --> 00:00:42,150
‫Om toe te voegen aan onze spelerslocatie.

13
00:00:42,150 --> 00:00:45,510
‫Om die laatst bekende spelerlocatie bij te werken.

14
00:00:46,260 --> 00:00:51,300
‫Beide kunnen we doen met iets dat een blauwdrukservice wordt genoemd.

15
00:00:51,660 --> 00:00:55,950
‫Dus laten we naar onze blauwdrukken gaan en kijken wat er aan de hand is.

16
00:00:55,980 --> 00:01:03,030
‫Dus als ik naar mijn bondgenoot ga en de gedragsboom open, praat het met het hoofdvenster, dan moet ik je laten zien welke diensten we

17
00:01:03,030 --> 00:01:05,040
‫er nu eerder een hebben gebruikt.

18
00:01:05,460 --> 00:01:14,190
‫En het is in wezen een manier om elke take of zo nu en dan iets uit te voeren wanneer een bepaald pad actief

19
00:01:14,190 --> 00:01:14,730
‫is.

20
00:01:14,760 --> 00:01:22,110
‫Dus als ik hier een service zou hebben over het Chase-gedrag, dan zou er iets zijn dat een code zou kunnen uitvoeren de hele tijd dat

21
00:01:22,680 --> 00:01:26,850
‫het Chase-gedrag actief is, of we nu bewegen, schieten, een van deze dingen wegen,

22
00:01:26,850 --> 00:01:28,770
‫het zou altijd zo zijn rennen.

23
00:01:28,770 --> 00:01:30,990
‫Maar als we binnen zijn, onderzoeken, zou het niet zo zijn.

24
00:01:31,440 --> 00:01:35,520
‫Dit is dus precies het soort situatie waarin we een dienst willen gebruiken.

25
00:01:35,850 --> 00:01:38,020
‫Laten we nu een voorbeelddienst nemen.

26
00:01:38,040 --> 00:01:44,610
‫Een ding dat ons opvalt als we aan het spelen zijn, is dat zodra de lucht binnen ons bereik komt

27
00:01:44,610 --> 00:01:51,440
‫en we bewegen, hij niet ronddraait om naar ons te kijken en dat kunnen we oplossen met een reeds ingebouwde service hier.

28
00:01:51,450 --> 00:01:58,540
‫Dus klik met de rechtermuisknop op deze notitie en ga naar service toevoegen en zoek naar de standaard focusservice.

29
00:01:58,580 --> 00:01:59,970
‫Je kunt zien dat het een andere kleur is, het is groen.

30
00:02:00,480 --> 00:02:05,310
‫En als we die standaardservice selecteren, gaat deze ook onder de sequentieknooppunten in plaats van erboven,

31
00:02:05,310 --> 00:02:06,630
‫wat de decorateurs doen.

32
00:02:07,440 --> 00:02:11,850
‫Dus met de standaard focus geselecteerd, kun je vervolgens kiezen waarop je wilt focussen.

33
00:02:11,850 --> 00:02:14,670
‫In dit geval willen we ons concentreren op de locatie van de speler.

34
00:02:15,390 --> 00:02:17,220
‫Ga je gang en druk op opslaan, druk op afspelen.

35
00:02:17,580 --> 00:02:23,070
‫En als we nu gaan kijken en rondlopen, kun je zien dat hij ronddraait om ons te volgen.

36
00:02:23,820 --> 00:02:24,540
‫Coole dingen.

37
00:02:25,050 --> 00:02:32,100
‫Nu willen we een vergelijkbare service in C++ kunnen implementeren die onze spelerslocatie voortdurend zal

38
00:02:32,100 --> 00:02:38,760
‫updaten en onze laatst bekende spelerlocatie zal updaten terwijl we aan het jagen zijn.

39
00:02:38,970 --> 00:02:41,670
‫Dus we gaan dat doen als twee afzonderlijke diensten.

40
00:02:41,670 --> 00:02:46,620
‫En je kunt zien hoe dat ook automatisch dient, omdat het dingen een beetje efficiënter

41
00:02:46,620 --> 00:02:53,910
‫kan maken dan in de techniek, omdat je alleen de laatst bekende speellocatie kunt uitvoeren als je in het rechterdeel van de

42
00:02:53,910 --> 00:02:54,690
‫gedragsboom bent.

43
00:02:54,930 --> 00:02:58,110
‫Laten we dus teruggaan naar de inhoudsbrowser van Sandbox.

44
00:02:58,110 --> 00:03:02,640
‫Voeg nieuwe nieuwe C++ klasse toe, ga alle klassen tonen en kijk hier wat onze opties zijn.

45
00:03:03,120 --> 00:03:04,950
‫We zoeken een betere service.

46
00:03:04,950 --> 00:03:11,130
‫En dan zijn er nog een paar opties, net als bij B. T. Taak.

47
00:03:11,610 --> 00:03:15,900
‫We hebben de Blackboard Base en we willen eigenlijk de Blackboard Base omdat we

48
00:03:15,900 --> 00:03:18,150
‫willen weten welke sleutel we moeten updaten.

49
00:03:18,150 --> 00:03:20,610
‫Moet het bijvoorbeeld de locatie van de speler zijn?

50
00:03:20,610 --> 00:03:22,950
‫Moet dit de laatst bekende spelerlocatie zijn?

51
00:03:23,460 --> 00:03:28,800
‫Dus we gaan naar de volgende met de Blackboard Base, selecteren het en we

52
00:03:28,800 --> 00:03:36,240
‫gaan deze bètaservice noemen, de locatie van de speler zo onderstrepen en gaan naar hoe je die klas kunt maken.

53
00:03:36,780 --> 00:03:42,960
‫Dus als we klaar zijn met compileren, gaan we over naar de Visual Studio-code en je kunt zien

54
00:03:42,960 --> 00:03:48,300
‫dat we deze BT-servicespelerlocatie hebben die is geërfd van de Service Blackwood Base Court.

55
00:03:48,330 --> 00:03:49,320
‫Dat is wat we nu willen.

56
00:03:49,320 --> 00:03:51,630
‫Welke functionaliteit gaan we hierin betrekken?

57
00:03:52,140 --> 00:03:58,200
‫Nou, ik ga proberen de eenvoudigst mogelijke functionaliteit te verplaatsen, wat alleen is om de waarde in te stellen

58
00:03:58,800 --> 00:04:01,590
‫van de in feite de laatst bekende spelerlocatie.

59
00:04:01,590 --> 00:04:08,310
‫Hoewel deze toets zal worden geconfigureerd in de gedragsboom, niet hier in een platte tekst, maar het zal de

60
00:04:08,310 --> 00:04:12,360
‫locatie van de speler krijgen en deze instellen op een schoolbordtoets.

61
00:04:12,360 --> 00:04:17,580
‫En het is niet van plan om de reden voor het controleren van de zichtlijn uit te voeren als we

62
00:04:17,580 --> 00:04:21,900
‫het in onze gedragsboom gebruiken, alleen als we jagen dat we de zichtlijncontrole niet nodig hebben.

63
00:04:21,900 --> 00:04:25,230
‫We kunnen de speler zien die automatisch weet dat dat het geval is.

64
00:04:25,590 --> 00:04:28,770
‫Dus nog een vereenvoudiging daar om het in een dienst te doen.

65
00:04:29,610 --> 00:04:36,570
‫Dit zou dus redelijk eenvoudig moeten zijn als we weten hoe we een methodeaanroep hier in de BT-service kunnen krijgen.

66
00:04:37,320 --> 00:04:41,910
‫Dus laten we eens kijken naar BT Service Dot om te zien wat daar beschikbaar is.

67
00:04:41,910 --> 00:04:43,890
‫Wat is de documentatie, wat kunnen we doen?

68
00:04:44,250 --> 00:04:50,730
‫De belangrijkste methoden die u hier kunt zien, zijn relevant worden op C's die relevant zijn voor het vinkje en bij het starten van de

69
00:04:50,730 --> 00:04:51,090
‫zoekopdracht.

70
00:04:51,090 --> 00:04:51,960
‫Op zoek start.

71
00:04:51,960 --> 00:04:54,180
‫We zijn niet bijzonder geïnteresseerd in, maar let op.

72
00:04:54,180 --> 00:05:00,630
‫Ja, dat is waar we de hele tijd updates zullen krijgen dat deze service op een actief pad is.

73
00:05:01,170 --> 00:05:02,730
‫Dus dat is er een die we willen implementeren.

74
00:05:03,030 --> 00:05:05,640
‫We gaan dit bestand doorzoeken om de volledige handtekening te vinden.

75
00:05:05,640 --> 00:05:07,950
‫Hier kunnen we zien is hier.

76
00:05:07,950 --> 00:05:09,240
‫Laten we eens kijken in welke sectie zich bevindt.

77
00:05:09,240 --> 00:05:10,530
‫Het staat onder het beveiligde gedeelte.

78
00:05:10,890 --> 00:05:16,620
‫Dus we gaan de service verslaan die we hebben gemaakt en een beschermde sectie maken.

79
00:05:17,530 --> 00:05:24,160
‫En plak in, het is hier automatisch een overschrijving omdat BT Service het zelf erft van een bovenliggende klasse, maar het

80
00:05:24,160 --> 00:05:27,400
‫kan geen kwaad om het zelf opnieuw te overschrijven.

81
00:05:27,790 --> 00:05:32,890
‫We kunnen een control shift P doen om de implementatie te creëren en dan willen we super aanroepen.

82
00:05:32,920 --> 00:05:39,220
‫Dus we willen een super tick node en we willen onze eigen comp en ons node-geheugen doorgeven.

83
00:05:39,700 --> 00:05:41,410
‫En laten we eens kijken, er staan hier nog wat andere dingen in.

84
00:05:41,440 --> 00:05:43,210
‫We hebben ook een Delta seconden.

85
00:05:43,210 --> 00:05:44,850
‫Dat moeten we ook laten liggen.

86
00:05:44,860 --> 00:05:49,930
‫En als laatste eindigen met deze puntkomma zou de implementatie van het vinkje moeten verdwijnen.

87
00:05:49,960 --> 00:05:54,130
‫Nu willen we hier in principe dat gedrag van de luchtcontroller doen.

88
00:05:54,130 --> 00:05:59,410
‫CP, degene waar we de schoolbordcomponent krijgen en vervolgens een waarde instellen als een vector.

89
00:05:59,710 --> 00:06:03,910
‫Welnu, we weten hoe we schoolbordcomponenten kunnen krijgen van verwijzingen naar eigenaarcomponenten.

90
00:06:04,210 --> 00:06:05,370
‫Dus dat is vrij eenvoudig.

91
00:06:05,380 --> 00:06:11,560
‫We gaan gewoon de comp-punt van de eigenaar doen en dan gaan we de componenten van het schoolbord

92
00:06:11,560 --> 00:06:17,710
‫ophalen, onthoudend dat we hier moeten hashen voor de gedragsstructuur voorwaartse schuine streep op het schoolbord.

93
00:06:18,100 --> 00:06:20,140
‫Dan kunnen we onze pijl-operator gebruiken.

94
00:06:20,590 --> 00:06:27,310
‫En wat we hier zouden moeten kunnen doen, is gewoon de waarde als vector instellen en dat we een sleutel nodig hebben.

95
00:06:27,310 --> 00:06:30,460
‫Nou, we weten hoe we hiermee om moeten gaan, maar laten we ons geheugen even opfrissen.

96
00:06:30,460 --> 00:06:36,310
‫Als we naar onze BT-service Blackboard Base gaan, kun je hetzelfde zien als bij de taak,

97
00:06:36,310 --> 00:06:38,330
‫we hebben de geselecteerde schoolbordsleutel.

98
00:06:38,350 --> 00:06:39,070
‫Dat is wat we gaan gebruiken.

99
00:06:39,400 --> 00:06:44,110
‫Geselecteerde ophalen Blackboard Key haalt de sleutel op die in de gedragsstructuur is geselecteerd.

100
00:06:44,110 --> 00:06:48,520
‫En dan willen we dat onze vectorwaarde waar we die goed krijgen precies hetzelfde is als de luchtcontroller.

101
00:06:48,520 --> 00:06:50,170
‫We krijgen de spelerspool.

102
00:06:50,170 --> 00:06:55,690
‫En eerst en vooral, hier bovenaan daar, moeten we controleren of dit null is of niet.

103
00:06:55,690 --> 00:06:57,790
‫En we moeten ook die statische gameplay opnemen.

104
00:06:57,790 --> 00:07:00,130
‫Dus laten we ervoor zorgen dat we het spel kunnen spelen.

105
00:07:00,130 --> 00:07:05,920
‫Statistieken omvatten van de luchtcontroller, houd in onze speler een servicespelerlocatie.

106
00:07:06,880 --> 00:07:13,830
‫Dan gaan we doen en als de speler -- gelijk is aan de null pointer, dan gaan we willen doen

107
00:07:13,830 --> 00:07:19,780
‫is opnieuw vroeg terugkeren hier komt terug ongeldig zodat we gewoon een snelle vroege terugkeer kunnen doen.

108
00:07:20,200 --> 00:07:30,010
‫Dan kunnen we onze speler gebruiken -- hier om eenvoudig de acteurslocatie te krijgen en het kan zijn dat we hier een opname moeten doen.

109
00:07:30,010 --> 00:07:30,880
‫We zullen zien hoe we gaan.

110
00:07:30,880 --> 00:07:34,360
‫Nou, het kan geen kwaad om veilig te zijn, doet het, en expliciet over deze dingen.

111
00:07:34,360 --> 00:07:40,230
‫Dus we gaan een include doen voor het spelframework en dan een schuine streep doorsturen, het wordt -- punt H zodat we ervoor kunnen zorgen

112
00:07:40,240 --> 00:07:45,340
‫dat we hier alles op orde hebben en dan stellen we gewoon de waarde in als terug naar dat zou alles

113
00:07:45,610 --> 00:07:47,320
‫moeten zijn wat we nodig hebben.

114
00:07:47,320 --> 00:07:49,120
‫Laten we gaan compileren en kijken of dit werkt.

115
00:07:49,180 --> 00:07:50,290
‫Sterker nog, nog iets.

116
00:07:50,290 --> 00:07:54,640
‫We willen waarschijnlijk een mooie mooie naam, dus we zouden hier een constructor moeten hebben.

117
00:07:54,670 --> 00:08:00,520
‫Dus ik ga een openbare sectie maken met de constructor, die de naam van de klasse zal zijn,

118
00:08:00,520 --> 00:08:03,730
‫en dan gaan we door en maken die implementatie.

119
00:08:03,730 --> 00:08:08,530
‫Ik ga mijn implementatie boven de implementatie voor tick node brengen en

120
00:08:08,530 --> 00:08:17,350
‫dan zullen we de node-naam gelijk hebben gesteld aan de locatie van de speler en laten we bouwen en kijken of dat werkt.

121
00:08:17,680 --> 00:08:19,240
‫Het lijkt erop dat ik een puntkomma miste.

122
00:08:19,240 --> 00:08:19,990
‫Laten we dat nog eens proberen.

123
00:08:20,170 --> 00:08:25,810
‫Zodra dat met succes is gecompileerd, kunnen we naar onze vijand gaan en naast de focus op

124
00:08:25,810 --> 00:08:31,600
‫het instellen, wil ik een nieuwe service toevoegen die we hier laten zien als de spelerslocatie waar de

125
00:08:31,600 --> 00:08:34,570
‫mooie naam in feite verschijnt als update-speellocatie .

126
00:08:34,570 --> 00:08:40,660
‫Je kunt zien dat het wil dat het je de frequentie van het tikken van elk punt voor 2 vertelt. 6 seconden.

127
00:08:40,660 --> 00:08:43,930
‫Dat is beter dan tick gebruiken, omdat we weten dat tick hier elk frame draait.

128
00:08:43,930 --> 00:08:46,630
‫Dit wordt minder vaak uitgevoerd, wat een goede zaak is.

129
00:08:46,630 --> 00:08:52,390
‫En we kunnen ingaan op de details en een schoolbordsleutel maken, naar beneden laten vallen en selecteren dat

130
00:08:52,390 --> 00:08:58,690
‫we niet alleen de speellocatie willen bijwerken, maar ook de laatst bekende spelerlocatie, want dat zal elk frame gebeuren

131
00:08:58,690 --> 00:09:02,620
‫zolang we jagen en dat is het gedrag dat we willen.

132
00:09:02,830 --> 00:09:08,890
‫Dus nog een serviceknooppunt dat we willen maken en maken, gaat het gedrag van de controller doen.

133
00:09:08,890 --> 00:09:11,170
‫We gaan naar beneden om te kijken wat er nog over is.

134
00:09:11,170 --> 00:09:17,470
‫Wat we hier moeten doen, is de locatie van de speler bijwerken, afhankelijk van of we zichtlijn hebben.

135
00:09:17,470 --> 00:09:19,330
‫Dus we willen dat het de speellocatie bijwerkt.

136
00:09:19,330 --> 00:09:22,240
‫Als we lijnen hebben, maak dan de locatie vrij als we die niet hebben.

137
00:09:22,540 --> 00:09:23,830
‫Dat wordt dus een nieuwe dienst.

138
00:09:23,830 --> 00:09:25,480
‫Merk op dat het een iets ander gedrag is.

139
00:09:25,900 --> 00:09:28,240
‫We gaan een nieuwe, nieuwe C++-klasse toevoegen.

140
00:09:28,240 --> 00:09:29,890
‫We gaan alle klassen laten zien.

141
00:09:29,890 --> 00:09:35,110
‫En nogmaals, we gaan Blackboard Base onderstrepen als onze basisklasse en we gaan

142
00:09:35,110 --> 00:09:39,610
‫het B noemen. T. Serviceonderstreping.

143
00:09:40,620 --> 00:09:43,700
‫Spelerslocatie indien gezien.

144
00:09:44,220 --> 00:09:46,830
‫En ga je gang en creëer die klasse.

145
00:09:46,950 --> 00:09:51,090
‫En omdat dit allemaal dingen zijn die je meestal eerder hebt gezien, wordt het jouw uitdaging om deze service

146
00:09:51,090 --> 00:09:51,690
‫te implementeren.

147
00:09:52,050 --> 00:09:57,540
‫Dus je gaat tic node implementeren met behulp van de code in de luchtcontroller.

148
00:09:57,540 --> 00:10:04,320
‫Als uw gids zult u de aanwijzer van de luchtcontroller moeten pakken vanuit de BT-service.

149
00:10:04,320 --> 00:10:09,690
‫Dit is precies hetzelfde als bij de beat-taken, dus gebruik dat als richtlijn om die controller-aanwijzer

150
00:10:09,690 --> 00:10:11,130
‫te pakken te krijgen.

151
00:10:11,640 --> 00:10:15,240
‫U hebt de aanwijzer van de luchtregelaar nodig om de zichtlijn te controleren.

152
00:10:15,240 --> 00:10:21,060
‫Onthoud dat de zichtlijn een methode is op de luchtcontroller en dat u de sleutel vervolgens

153
00:10:21,060 --> 00:10:27,210
‫moet bijwerken of wissen, afhankelijk van uw zichtlijncontrole, en vervolgens dit knooppunt in de gedragsboom moet plaatsen.

154
00:10:27,210 --> 00:10:31,950
‫Waar denk je dat het juiste niveau van de gedragsboom zal zijn om deze service te laten draaien?

155
00:10:32,160 --> 00:10:36,840
‫Denk daar een beetje over na en doe een beetje kinkrab, pauzeer, video en probeer het.

156
00:10:38,040 --> 00:10:38,270
‫Oké.

157
00:10:38,280 --> 00:10:38,790
‫Welkom terug.

158
00:10:38,820 --> 00:10:44,400
‫Dit heeft dus een nieuwe bietenservice geopend in Visual Studio-code.

159
00:10:44,790 --> 00:10:48,360
‫Nu zal het vrijwel identiek zijn in de kop.

160
00:10:48,900 --> 00:10:53,850
‫Dus ik ga door en kopieer dat naar een nieuw gegenereerde header.

161
00:10:54,390 --> 00:10:59,970
‫De uitzondering is dat we de naam van de constructor moeten wijzigen om overeen te komen.

162
00:11:00,450 --> 00:11:07,380
‫Nu gaan we een implementatie voor de constructor maken en deze een knooppuntnaam geven om de spelerlocatie bij te

163
00:11:08,070 --> 00:11:10,170
‫werken als deze wordt gezien.

164
00:11:10,920 --> 00:11:12,160
‫En voeg een puntkomma toe.

165
00:11:12,180 --> 00:11:12,630
‫Het einde hier.

166
00:11:12,680 --> 00:11:14,110
‫Laten we dat deze keer niet vergeten.

167
00:11:14,520 --> 00:11:16,290
‫Dan terug naar de C++.

168
00:11:16,290 --> 00:11:18,450
‫Ik ga ook tick node implementeren.

169
00:11:18,840 --> 00:11:25,980
‫En ik ga gewoon kopiëren als we de spelerlocatie CP kunnen vinden. En ik ga gewoon de oproep

170
00:11:25,980 --> 00:11:32,550
‫naar super kopiëren en het krijgen van de spelerpion en het controleren van de nulteruggave.

171
00:11:32,550 --> 00:11:35,880
‫In feite ga ik het hele lichaam kopiëren en vanaf daar gaan we het aanpassen.

172
00:11:36,630 --> 00:11:43,300
‫Dus dat kopiëren we en we gaan ook de toegang tot de blackboard-component kopiëren met de include

173
00:11:43,300 --> 00:11:49,230
‫voor de blackboard-component, de gameplay-statistieken en de pion, omdat we toegang tot die allemaal nodig

174
00:11:49,230 --> 00:11:49,860
‫hebben.

175
00:11:50,130 --> 00:11:52,950
‫Veel van de functionaliteit wordt hier zelfs gedeeld.

176
00:11:53,220 --> 00:11:58,830
‫Je zou kunnen overwegen om ze op de een of andere manier deze code te laten delen, maar ik denk dat er niet zoveel duplicatie is dat

177
00:11:58,830 --> 00:12:00,090
‫we er genoeg om geven.

178
00:12:00,900 --> 00:12:05,400
‫Dus wat we hier moeten doen, is ook controleren of we een luchtcontroller hebben.

179
00:12:05,400 --> 00:12:15,210
‫Dus ik ga doen als de eigenaar van de componenten van de eigenaar comp een eigenaar krijgt die gelijk is aan de nul-aanwijzer, dan

180
00:12:15,810 --> 00:12:19,170
‫willen we doorgaan en terugkeren in dit stadium.

181
00:12:19,980 --> 00:12:24,330
‫Dan is het volgende dat we gaan doen, onze zichtbaarheid controleren.

182
00:12:24,330 --> 00:12:31,890
‫Dus we gaan een if owner comp dot krijgt air owner en dan gaan we hier een pijl maken en

183
00:12:31,890 --> 00:12:34,410
‫we moeten hier een controller opnemen.

184
00:12:34,410 --> 00:12:36,600
‫Dus het wordt hash include.

185
00:12:38,150 --> 00:12:40,760
‫En het wordt I-controller.

186
00:12:40,790 --> 00:12:50,930
‫Dus h, dan willen we lijn doen en kijken wat hier het juiste gebruik is als we naar de luchtcontroller gaan.

187
00:12:50,930 --> 00:12:59,060
‫CP Het is zichtlijn twee, dat is wat we willen, dus zichtlijn naar dan moeten we zichtlijn naar het stuk

188
00:12:59,060 --> 00:12:59,720
‫maken.

189
00:12:59,720 --> 00:13:00,980
‫Een pion in dit geval.

190
00:13:00,980 --> 00:13:02,600
‫Hebben we zicht op de spelerpion?

191
00:13:03,290 --> 00:13:04,790
‫Is dat wat we doen in de CPA?

192
00:13:04,790 --> 00:13:05,780
‫Laten we dat eens dubbel checken.

193
00:13:05,780 --> 00:13:06,440
‫Ja we zijn.

194
00:13:07,250 --> 00:13:11,150
‫Dan willen we doorgaan en de waarden anders instellen.

195
00:13:11,660 --> 00:13:15,740
‫Dus we stellen de vectorwaarde in op de locatie van de spelerpionvangstacteur.

196
00:13:15,740 --> 00:13:18,560
‫Ja, dat is als we een andere gezichtslijn hebben.

197
00:13:18,560 --> 00:13:22,160
‫Als we geen zichtlijn hebben, weten we dat we die waarde moeten wissen.

198
00:13:22,580 --> 00:13:25,790
‫Dus we krijgen nog steeds de eigenaar-component, krijgen de schoolbord-component.

199
00:13:26,060 --> 00:13:31,580
‫Dan wordt het een duidelijke waarde en we gaan de waarde van de geselecteerde schoolbordsleutel nog

200
00:13:31,580 --> 00:13:37,700
‫steeds wissen, en dat zou ons ongeveer moeten dekken voor de implementatie van de locatie van de speler.

201
00:13:37,700 --> 00:13:41,460
‫Laten we, indien gezien, gaan compileren en kijken of het goed werkt.

202
00:13:41,460 --> 00:13:42,650
‫De compilatie is gelukt.

203
00:13:42,650 --> 00:13:44,540
‫Laten we naar de gedragsboom gaan.

204
00:13:44,570 --> 00:13:50,750
‫Het niveau dat ik wil dat dit wordt uitgevoerd, bevindt zich in feite op het hoogste niveau in de eerste selector, omdat

205
00:13:50,750 --> 00:13:56,330
‫ik wil dat het de spelerslocatie in principe de hele tijd bijwerkt, omdat we elk van deze andere gedragingen moeten

206
00:13:56,330 --> 00:13:59,330
‫kunnen afbreken op basis van de speler locatie wordt ingesteld.

207
00:13:59,720 --> 00:14:02,570
‫We moeten het dus op elk moment kunnen uitschakelen.

208
00:14:03,050 --> 00:14:08,630
‫Dus ik ga met de rechtermuisknop klikken op de bovenste niveauselector en service op de speellocatie, indien gezien.

209
00:14:09,290 --> 00:14:13,910
‫En dan gaan we dat serviceknooppunt selecteren en de schoolbordsleutel selecteren, die onze

210
00:14:13,910 --> 00:14:15,020
‫speellocatie wordt.

211
00:14:15,740 --> 00:14:20,390
‫Zodat een set in de speellocatie, de update spelerlocatie, des te stommer is de laatst

212
00:14:20,400 --> 00:14:21,980
‫bekende spelerlocatie bij te werken.

213
00:14:22,640 --> 00:14:29,210
‫En we zouden nu in staat moeten zijn om naar onze luchtcontroller te gaan en in wezen al deze code in

214
00:14:29,210 --> 00:14:33,500
‫technologie te verwijderen, omdat deze in plaats daarvan is vervangen door onze services.

215
00:14:33,830 --> 00:14:36,230
‫En we kunnen doorgaan en compileren en kijken of dat werkt.

216
00:14:36,320 --> 00:14:41,030
‫Laten we naar de editor gaan en spelen en kijken of onze vijand nog steeds op ons afkomt.

217
00:14:41,030 --> 00:14:46,520
‫Hij komt naar ons toe rennen, verliest het zicht, komt dan terug naar ons, begint te schieten.

218
00:14:46,520 --> 00:14:46,790
‫Ja.

219
00:14:46,790 --> 00:14:53,000
‫In principe werkt alles zoals het voorheen deed, behalve dat het het nu volledig doet via services die

220
00:14:53,000 --> 00:14:55,520
‫we voor onszelf hebben geschreven in C++.

221
00:14:55,820 --> 00:15:01,010
‫De volgende lezing gaan we die vervelende bug repareren waarbij de AI blijft schieten en uiteindelijk zichzelf

222
00:15:01,010 --> 00:15:02,990
‫van het leven weet te beroven.

223
00:15:03,290 --> 00:15:03,950
‫Ik zal dat zien.

