﻿1
00:00:04,090 --> 00:00:09,970
‫Kulelerimize yaklaşırsam, hata ayıklama küreleri çizdiklerini, ateşleme işlevini çağırdıklarını ve bunu

2
00:00:09,970 --> 00:00:13,780
‫her 2 saniyede bir yaptıklarını kanıtladıklarını görebilirim.

3
00:00:14,010 --> 00:00:17,290
‫Şimdi, buna ek olarak, sadece bu işlevi çağırıyorlar.

4
00:00:17,290 --> 00:00:22,330
‫Eğer ateş menzilindeysem, buraya geri dönersem, hata ayıklama küreleri çizmediklerini fark edeceksiniz.

5
00:00:22,330 --> 00:00:25,660
‫Yani bu aynı zamanda bir mesafe kontrolünü de içerir.

6
00:00:25,660 --> 00:00:30,430
‫Ve yeterince yaklaştığımda, işte, o hata ayıklama kürelerini çizmeye başlıyorlar.

7
00:00:30,460 --> 00:00:32,130
‫Merhaba ve tekrar hoş geldiniz.

8
00:00:32,140 --> 00:00:37,930
‫Şimdi zaten bir fire fonksiyonu oluşturduk ve bunu tank sınıfında kullanıyoruz çünkü onu

9
00:00:37,930 --> 00:00:40,270
‫fire eylem eşlemesine bağladık.

10
00:00:40,270 --> 00:00:43,960
‫Ancak bunu kule sınıfı ile de yeniden kullanmak istiyoruz.

11
00:00:43,960 --> 00:00:48,820
‫Şimdi, kule sınıfı için kullanıcı girişi kullanmak yerine, zamanlayıcıları kullanacağız.

12
00:00:48,820 --> 00:00:54,370
‫Kule sınıfı için bir zamanlayıcı oluşturacağız, böylece zamanlayıcı yangın fonksiyonunu çağırabilir.

13
00:00:54,370 --> 00:01:00,400
‫Sık sık fire fonksiyonuna yapılan çağrılar arasında belirli bir saniye sayısı ayarlayacağız.

14
00:01:00,400 --> 00:01:06,370
‫Fire fonksiyonunun kule sınıfında sık sık çağrılmasını istediğimizden, şimdi zamanlayıcılar hakkında konuşmamız

15
00:01:06,370 --> 00:01:07,450
‫gerekiyor.

16
00:01:07,450 --> 00:01:13,240
‫Unreal Engine, F Timer Manager adlı bir sınıf kullanarak zamanlayıcıları ayarlama yeteneğine sahiptir.

17
00:01:13,270 --> 00:01:18,670
‫Dünyadaki zamanlayıcıları yöneten bir dünya zamanlayıcı yöneticisi vardır.

18
00:01:18,700 --> 00:01:26,950
‫Şimdi bu dünya zamanlayıcı yöneticisinin Zamanlayıcıyı Ayarla adlı bir işlevi vardır ve zamanlayıcıyı ayarla, zamanlayıcı tanıtıcısı

19
00:01:26,950 --> 00:01:29,050
‫gibi bir dizi girdi alır.

20
00:01:29,080 --> 00:01:34,000
‫Bu, zamanlayıcı yöneticisi tarafından yönetilen belirli bir zamanlayıcıya yönelik bir tanıtıcıdır.

21
00:01:34,000 --> 00:01:40,720
‫Bu, yöneticinin birden fazla zamanlayıcıya sahip olmasını sağlar ve zamanlayıcı tanıtıcısını o zamanlayıcı için bir tür ad veya kimlik

22
00:01:40,720 --> 00:01:44,410
‫olarak kullanarak her biri için zamanlayıcı bilgilerine erişebiliriz.

23
00:01:44,530 --> 00:01:47,680
‫Bu, F zamanlayıcı tanıtıcısı türünde bir nesnedir.

24
00:01:47,680 --> 00:01:52,870
‫Bu yüzden bir zamanlayıcı tanıtıcısı oluşturuyoruz ve bunu set timer fonksiyonuna aktarıyoruz.

25
00:01:52,900 --> 00:01:59,560
‫Şimdi zamanlayıcıyı ayarlamak, bir şey yapmadan önce beklememiz gereken oran veya süre gibi başka

26
00:01:59,560 --> 00:02:01,630
‫girdiler de gerektirir.

27
00:02:01,630 --> 00:02:05,380
‫Şimdi bu, geri arama işlevimizde olacak bir şey.

28
00:02:05,380 --> 00:02:12,130
‫Bir fonksiyon oluşturuyoruz ve bu fonksiyonu zamanlayıcıya bağlıyoruz, böylece yeterli süre geçtiğinde,

29
00:02:12,130 --> 00:02:16,690
‫özellikle zamanlayıcı oranı, geri arama fonksiyonumuz çağrılabilir.

30
00:02:16,690 --> 00:02:23,140
‫Zamanlayıcımız için birkaç şeye ihtiyacımız olduğunu gördük ve bunları kule sınıfına yerleştireceğiz.

31
00:02:23,140 --> 00:02:30,040
‫Şimdi Tower H'ye gidelim ve burada Tower H dosyasına bazı özel değişkenler ekleyeceğiz.

32
00:02:30,040 --> 00:02:33,940
‫Ateş menzilinin hemen altında, zamanlayıcı tutacağımıza ihtiyacımız olacak.

33
00:02:33,940 --> 00:02:40,840
‫Yani bu bir F zamanlayıcı tutamacıdır ve buna basitçe ateş hızı zamanlayıcı tutamacı diyebiliriz.

34
00:02:40,870 --> 00:02:44,590
‫Ayrıca şamandıra olacak bir atış hızına da ihtiyacımız var.

35
00:02:44,590 --> 00:02:50,320
‫Buna yangın oranı diyeceğiz ve bunu iki nokta F olarak başlatabiliriz.

36
00:02:50,650 --> 00:02:56,920
‫Bu şekilde, geri arama işlevimiz gerçekten çağrılmadan önce iki saniye bekleyeceğiz.

37
00:02:57,040 --> 00:03:00,460
‫Geri arama fonksiyonlarından bahsetmişken, aslında bir tanesine ihtiyacımız var.

38
00:03:00,460 --> 00:03:05,500
‫Bu yüzden bir void fonksiyonu oluşturacağız ve bu kontrol ateşleme koşulunu çağırabiliriz.

39
00:03:06,010 --> 00:03:12,760
‫Yani bir zamanlayıcı tanıtıcımız var ve zamanlayıcıyı ayarlayıp çalışmaya başlar başlamaz, zamanlayıcı işlevimizin

40
00:03:12,760 --> 00:03:17,860
‫çağrılmasıyla sonuçlanmadan önce beklememiz gereken 2 saniyemiz var.

41
00:03:17,860 --> 00:03:23,890
‫Buna yangın kontrol koşulu diyorum çünkü kulemizin yangın işlevini çağırıp çağıramayacağını kontrol edebiliriz,

42
00:03:23,890 --> 00:03:30,280
‫böylece yangının çağrılması gerektiğinden emin olmak için kontrol edebileceğimiz bazı koşullar yerleştirebiliriz.

43
00:03:30,280 --> 00:03:33,010
‫Şimdi yangın koşulu fonksiyonunu tanımladık.

44
00:03:33,010 --> 00:03:38,710
‫Bunu tanımlamamız gerekiyor, böylece kule CPP'ye gidebilir ve fonksiyonu burada tanımlayabiliriz.

45
00:03:38,710 --> 00:03:45,940
‫Bunu begin play'in altına yerleştireceğim, bu yüzden ona bir fonksiyon gövdesi ve fonksiyon adından hemen önce bir kule

46
00:03:45,940 --> 00:03:47,440
‫sınıfı adı vereceğim.

47
00:03:47,530 --> 00:03:53,710
‫Şimdi bir fonksiyonumuz var, ancak aslında zamanlayıcıyı ayarlamamız gerekiyor, böylece zaman çalışmaya başlayacak

48
00:03:53,710 --> 00:03:56,530
‫ve fonksiyon bu sürenin sonunda çağrılacak.

49
00:03:56,530 --> 00:04:02,200
‫Zamanlayıcıyı buradan ayarlayabilir ve oyunun başından itibaren çalışmaya başlaması için oyuna başlayabiliriz.

50
00:04:02,200 --> 00:04:10,810
‫Dünya zamanlayıcı yöneticisinden bahsetmiştik ve buna Get World Timer Manager adlı bir fonksiyonla erişebiliriz.

51
00:04:10,810 --> 00:04:16,120
‫Şimdi get World Timer Manager, bir F timer manager nesnesi döndürür.

52
00:04:16,120 --> 00:04:22,300
‫Ve bu türü kullandığımız için, F zamanlayıcı yöneticisi için başlık dosyasını eklememiz gerekecek.

53
00:04:22,300 --> 00:04:26,660
‫İşte basitçe timer manager h.

54
00:04:26,680 --> 00:04:31,000
‫Ayrıca bu sınıfa ait bazı fonksiyonları da görebiliriz.

55
00:04:31,000 --> 00:04:37,150
‫F zamanlayıcı yöneticisine ait tüm farklı işlevlerle ilgileniyorsanız, bunlar arasında

56
00:04:37,150 --> 00:04:37,990
‫gezinin.

57
00:04:38,110 --> 00:04:44,320
‫Böylece bu başlık dosyasını kulenin üst kısmına, diğer içeriklerin hemen altına dahil edebiliriz.

58
00:04:44,320 --> 00:04:51,220
‫Şimdi bu başlık dosyasını dahil ettiğimize göre, artık dünya zamanlayıcı yöneticisine erişimimiz

59
00:04:51,220 --> 00:04:55,060
‫var ve ilgilendiğimiz fonksiyonun adı set timer.

60
00:04:55,480 --> 00:05:01,060
‫Şimdi get world timer manager basitçe bir F timer manager döndürür, bir işaretçi döndürmez.

61
00:05:01,060 --> 00:05:03,460
‫Bu yüzden nokta yerine nokta kullanacağız.

62
00:05:03,520 --> 00:05:06,430
‫Ok ve zamanlayıcıyı ayarla diyeceğiz.

63
00:05:06,550 --> 00:05:11,080
‫Şimdi set timer'ın çeşitli versiyonları veya fonksiyon aşırı yükleri vardır.

64
00:05:11,080 --> 00:05:17,230
‫Şimdi kodda, her bir aşırı yüklemenin üzerinden geçmemizi ve bu fonksiyonun farklı versiyonlarını görmemizi sağlayan bu

65
00:05:17,230 --> 00:05:18,250
‫açılır pencere var.

66
00:05:18,250 --> 00:05:24,730
‫Ve ilk olarak ilgilendiğim sürüm bir F zamanlayıcı tutamacını alır ve H Kulesi'nde bildirdiğimiz

67
00:05:24,760 --> 00:05:28,480
‫ateş hızı zamanlayıcı tutamacımızı kullanacağız.

68
00:05:28,480 --> 00:05:35,200
‫Şimdi özel fonksiyon yüklememiz için bir sonraki parametre, tıpkı bind axis ve bind action'da olduğu gibi

69
00:05:35,200 --> 00:05:37,350
‫kullanıcı sınıfı olacaktır.

70
00:05:37,360 --> 00:05:43,240
‫Bu, içinde çalıştığımız ve fonksiyonunu bağlayacağımız sınıftır.

71
00:05:43,240 --> 00:05:50,350
‫Şimdi sırada, A kulesi kontrol ateşleme koşulumuz olacak olan geri arama işlevi, az önce oluşturduğumuz

72
00:05:50,350 --> 00:05:52,450
‫işlev olacak.

73
00:05:52,450 --> 00:05:58,930
‫Şimdi operatörün adresine ihtiyacımız var çünkü set timer fonksiyon adresini alır.

74
00:05:58,930 --> 00:06:05,590
‫Şimdi bir sonraki parametre, oran için bir floattır ve bu, geri çağrımızın çağrılmasından önce ne kadar zaman geçmesi

75
00:06:05,590 --> 00:06:07,390
‫gerektiği olacaktır.

76
00:06:07,390 --> 00:06:09,910
‫Bu bizim ateş oranımız olacak.

77
00:06:09,910 --> 00:06:15,730
‫Ve son parametre, bu zamanlayıcının döngüye girip girmeyeceğini belirten bir boolean'dır.

78
00:06:16,060 --> 00:06:22,000
‫Şimdi geri arama fonksiyonumuzun her 2 saniyede bir çağrılmasını istiyorum, bu yüzden bu zamanlayıcının döngü yapmasını istiyorum.

79
00:06:22,000 --> 00:06:23,830
‫Bu yüzden doğru diyeceğim.

80
00:06:24,220 --> 00:06:28,180
‫Eğer yanlışlıkla geçecek olsaydık 2 saniye geçecekti.

81
00:06:28,180 --> 00:06:30,910
‫Fonksiyonumuz çağrılacak ve hepsi bu kadar olacaktı.

82
00:06:30,910 --> 00:06:37,030
‫Ancak döngüye ayarladığımız için, fonksiyonumuz 2 saniye sonra çağrılacak, ardından zamanlayıcı

83
00:06:37,030 --> 00:06:42,610
‫yeniden başlayacak ve iki saniye sonra fonksiyon tekrar çağrılacak ve oyun bitene kadar döngüye

84
00:06:42,610 --> 00:06:44,290
‫devam edecektir.

85
00:06:44,290 --> 00:06:50,380
‫Artık zamanlayıcımıza bağlı bir fonksiyonumuz var ve her 2 saniyede bir çağrılacak şekilde ayarlandı.

86
00:06:50,380 --> 00:06:55,540
‫Böylece zamanlayıcımıza bir fonksiyon bağladık ve bu fonksiyon her 2 saniyede bir çağrılacak.

87
00:06:55,660 --> 00:07:00,580
‫Ancak bu işlevin gerçekten çağrıldığına dair bir tür kanıt veya onay istiyoruz.

88
00:07:00,580 --> 00:07:06,910
‫Kule sınıfındaki meydan okumanız için yeni geri arama işlevimize gidin, yangın koşulunu kontrol edin.

89
00:07:06,910 --> 00:07:09,310
‫Tankın ateş menzilinde olduğundan emin olun.

90
00:07:09,310 --> 00:07:12,970
‫Kule ile tank arasındaki mesafeyi kontrol edeceksiniz.

91
00:07:12,970 --> 00:07:17,560
‫Ve bunu nasıl yapacağımızı biliyoruz çünkü bunu zaten tick fonksiyonunda yapıyoruz.

92
00:07:17,560 --> 00:07:22,900
‫Bu nedenle, kendinize hatırlatmak için tik fonksiyonuna bakmanız ve bunun nasıl yapıldığını görmeniz gerekebilir,

93
00:07:22,900 --> 00:07:28,720
‫şimdi bu mesafeyi kontrol edin, ateş menzilinde olduğumuzdan emin olun ve eğer öyleysek, ateş fonksiyonunu çağırın, videoyu

94
00:07:28,720 --> 00:07:31,330
‫duraklatın ve bunu şimdi uygulayın.

95
00:07:34,320 --> 00:07:34,680
‫Tamam.

96
00:07:34,680 --> 00:07:41,700
‫Kule CP'ye geri döndüm ve bu mesafeyi nasıl aldığımı ve ateş menzilinde olup olmadığını kontrol ettiğimi kendime

97
00:07:41,700 --> 00:07:45,620
‫hatırlatmak için tik fonksiyonuna kadar ilerleyeceğim.

98
00:07:45,630 --> 00:07:50,420
‫Şimdi bu kodu burada tekrar kullanabilir ve yangın koşulunu kontrol edebiliriz.

99
00:07:50,430 --> 00:07:56,790
‫Şimdi kodu yeniden kullanmak çok verimli değildir, bu yüzden bunu yeniden düzenlemeyi düşünebiliriz, ancak önce bunun çalıştığından

100
00:07:56,790 --> 00:08:02,040
‫emin olalım, böylece önce geçerli olduğundan emin olmak için tank işaretçimizi kontrol edebiliriz.

101
00:08:02,040 --> 00:08:04,440
‫Bunu burada yapacağım ve yangın durumunu kontrol edeceğim.

102
00:08:04,440 --> 00:08:09,870
‫If tank diyeceğim ve eğer tank geçerliyse, yapabileceğimiz bir sonraki şey, f vector

103
00:08:09,870 --> 00:08:14,700
‫dist fonksiyonuyla hesaplanan bu değer olan mesafeyi elde etmektir.

104
00:08:14,700 --> 00:08:19,380
‫Şimdi bunu alacağım ve yangın kontrol koşullarında buraya yerleştireceğim.

105
00:08:19,380 --> 00:08:25,050
‫Şimdi yapacağımız bir sonraki şey, mesafenin ateş menziline eşit veya daha az olup olmadığını kontrol etmektir.

106
00:08:25,050 --> 00:08:26,610
‫Burada yapacağımız şey bu.

107
00:08:26,610 --> 00:08:34,200
‫Mesafenin ateş menziline eşit veya daha az olup olmadığını söyleyeceğiz ve eğer durum buysa, o zaman basitçe ateş fonksiyonunu

108
00:08:34,200 --> 00:08:35,820
‫çağırabiliriz.

109
00:08:35,820 --> 00:08:38,760
‫Bu yüzden yangın ihbarı yapacağız ve bu kadar basit.

110
00:08:38,760 --> 00:08:45,120
‫Şimdi devam edip bunu derleyelim ve editöre geri dönüp play tuşuna basacağım ve ateş menziline

111
00:08:45,120 --> 00:08:46,080
‫gireceğim.

112
00:08:46,080 --> 00:08:52,800
‫Ve kulelerimizin namlunun ucunda hata ayıklama küreleri çizdiğini görebiliyorum, böylece ateşleme

113
00:08:52,800 --> 00:09:00,630
‫işlevinin çağrıldığını ve tank için olduğu gibi kule için de aynı şekilde çalıştığını görebiliriz.

114
00:09:00,630 --> 00:09:01,740
‫Yani bu harika.

115
00:09:01,740 --> 00:09:09,420
‫Bu bize zamanlayıcımızın çalıştığını ve geri arama işlevimizin her 2 saniyede bir çağrıldığını kanıtlıyor.

116
00:09:09,450 --> 00:09:14,910
‫Tamam, şimdi kontrol, yangın koşulunda her 2 saniyede bir çağrılan bu yangın fonksiyonuna sahibiz.

117
00:09:14,910 --> 00:09:21,360
‫Aralıkta olup olmadığımızı gördüğümüz bu işlevselliğe sahibiz ve aynı şeyi burada tik fonksiyonunda

118
00:09:21,360 --> 00:09:22,830
‫da yapıyoruz.

119
00:09:22,830 --> 00:09:26,070
‫Yani bu, yeniden düzenlemek için mükemmel bir fırsat.

120
00:09:26,070 --> 00:09:32,580
‫Tankla menzil içindeysek bize bir boolean döndürecek bir tür fonksiyon oluşturabiliriz.

121
00:09:32,580 --> 00:09:37,710
‫Öyleyse neden devam edip bunu hızlıca boğa döndüren bir fonksiyona dönüştürmüyoruz?

122
00:09:37,710 --> 00:09:41,430
‫H Kulesi'nde özel bir fonksiyon oluşturalım.

123
00:09:41,430 --> 00:09:45,840
‫Bool döndürecek ve yangın aralığında diyeceğiz.

124
00:09:45,840 --> 00:09:51,480
‫Şimdi bu basit bir oyun ve kulemiz sadece tankın menzilinde olacak.

125
00:09:51,480 --> 00:09:57,120
‫Yani bu belirsiz değil çünkü kulenin menzilde olup olmadığını kontrol etmek isteyeceği başka

126
00:09:57,120 --> 00:10:03,240
‫bir şey yok, eğer bu kulenin mesafeyi kontrol etmek isteyeceği başka şeylerin olduğu daha karmaşık bir

127
00:10:03,240 --> 00:10:08,340
‫oyun olsaydı, o zaman bunu biraz farklı adlandırabilirdik, ancak buna basitçe ateş

128
00:10:08,340 --> 00:10:10,320
‫menzilinde diyebiliriz.

129
00:10:10,320 --> 00:10:14,130
‫Ve benim yapacağım şey bunu Tower'da uygulamak olacak.

130
00:10:14,130 --> 00:10:17,340
‫Şimdi devam edelim ve fonksiyon gövdesini oluşturalım.

131
00:10:17,340 --> 00:10:20,880
‫İşlev adını düzeltmeden önce bu kuleye ihtiyacımız olacak.

132
00:10:20,880 --> 00:10:25,560
‫Burada yapacağımız şey de temelde aynı mesafe kontrolüdür.

133
00:10:25,560 --> 00:10:31,020
‫Bu yüzden ilk olarak bir if kontrolü ile tankın geçerli olup olmadığını kontrol edeceğiz.

134
00:10:31,020 --> 00:10:38,880
‫Şimdi eğer öyleyse, bu mesafeyi alabiliriz, böylece bu satırı kopyalayabilir ve tam burada yerel mesafe float'ımızı oluşturabilir

135
00:10:38,880 --> 00:10:45,690
‫ve bu mesafeyi yangın aralığına göre kontrol edebiliriz, böylece mesafenin yangın aralığından küçük veya eşit

136
00:10:45,690 --> 00:10:51,180
‫olup olmadığını söyleyebiliriz ve durum buysa, basitçe true'yu döndürebiliriz.

137
00:10:51,180 --> 00:10:54,780
‫Bu fonksiyon true değerini döndürebilir.

138
00:10:54,780 --> 00:10:58,950
‫Ve şimdi, aralık içindeysek true değerini döndürecek bir fonksiyonumuz var.

139
00:10:58,950 --> 00:11:05,970
‫Şimdi, if deyiminde bu return true satırına geldiğimiz anda, fonksiyon geri dönecektir.

140
00:11:05,970 --> 00:11:07,470
‫Fonksiyondan atlayacağız.

141
00:11:07,470 --> 00:11:10,830
‫Yani bu if ifadesinden sonra başka bir şey çalışmayacaktır.

142
00:11:10,830 --> 00:11:18,720
‫Yani yapabileceğimiz şey, in fire range fonksiyonumuzun en sonunda false değerini döndürebiliriz çünkü eğer

143
00:11:18,720 --> 00:11:25,020
‫return true değerine ulaşırsak, aslında burada return false satırına asla ulaşamayız.

144
00:11:25,020 --> 00:11:27,690
‫Fonksiyondan erken çıkacağız.

145
00:11:27,690 --> 00:11:35,250
‫Ancak menzil içinde değilsek, buradaki mesafe kontrolü başarısız olursa, o zaman asla true dönüşüne ulaşamayız.

146
00:11:35,370 --> 00:11:39,300
‫Ve fonksiyonun sonuna ulaşıp false değerini döndüreceğiz.

147
00:11:39,300 --> 00:11:45,930
‫Dolayısıyla bu fonksiyon, aralıkta olup olmadığımıza bağlı olarak true veya false döndürür ve iki fonksiyonumuzda

148
00:11:45,930 --> 00:11:49,440
‫tekrarlanan kod kullanmak yerine bunu kullanabiliriz.

149
00:11:49,440 --> 00:11:56,610
‫Örneğin kene işaretinde, tareti döndürmeden önce menzilde olup olmadığımızı görmek için yalnızca tek bir kontrole ihtiyacımız

150
00:11:56,610 --> 00:11:57,180
‫var.

151
00:11:57,180 --> 00:12:06,240
‫Yani yapabileceğimiz şey, ateş menzilindeyse diyebiliriz ve bu true döndürürse, ateş menzilindeyizdir, böylece tareti

152
00:12:06,240 --> 00:12:07,830
‫döndür diyebiliriz.

153
00:12:07,860 --> 00:12:10,170
‫Bu yüzden bunu if deyiminin içine koyacağız.

154
00:12:10,170 --> 00:12:15,090
‫Ve artık tüm bu kodlar gereksiz olduğundan basitçe silebiliriz.

155
00:12:15,450 --> 00:12:19,050
‫Ve şimdi bu daha önce sahip olduğumuzdan çok daha temiz görünüyor.

156
00:12:19,050 --> 00:12:23,940
‫Sonra buraya gelip yangın durumunu kontrol edebilir ve aynı şeyi yapabiliriz.

157
00:12:23,940 --> 00:12:29,340
‫Tüm bunlar yerine, sadece ateş menzilinde olup olmadığını kontrol edebiliriz.

158
00:12:31,800 --> 00:12:35,010
‫Ve eğer öyleyse, basitçe yangını çağırabiliriz.

159
00:12:35,280 --> 00:12:43,100
‫Şimdi tüm bu kodu, in fire range fonksiyonumuzda yapılan bir kontrole başarılı bir şekilde yeniden düzenledik.

160
00:12:43,110 --> 00:12:48,750
‫Şimdi devam edip bunu tekrar derleyelim ve her şeyin beklendiği gibi çalıştığından emin olmak için

161
00:12:48,750 --> 00:12:50,100
‫hızlıca test edelim.

162
00:12:50,100 --> 00:12:54,210
‫Şimdi gidip play tuşuna basacağız ve ateş menziline gireceğiz.

163
00:12:54,210 --> 00:12:58,110
‫Ve tabii ki ateş menzilindeyiz ve doğru çalışıyor.

164
00:12:58,110 --> 00:13:05,760
‫Özetle, bir zamanlayıcı oluşturduk ve her 2 saniyede bir kule sınıfındaki yangın fonksiyonunu çağırıyoruz.

165
00:13:05,790 --> 00:13:08,700
‫Şimdi Tank'ın menzilde olup olmadığını da kontrol ediyoruz.

166
00:13:08,700 --> 00:13:15,570
‫Yani ateşleme fonksiyonunu sadece tank ateşleme mesafesi içindeyse her 2 saniyede bir çağırıyoruz.

167
00:13:15,570 --> 00:13:19,950
‫Ayrıca bu mesafe kontrolünü iki farklı işlevde kullandığımızı gördük.

168
00:13:19,950 --> 00:13:26,670
‫Bu yüzden bunu kendi fonksiyonuna dönüştürdük ve aralıkta olup olmadığımızı kontrol etmek için bunu çağırıyoruz.

169
00:13:26,670 --> 00:13:29,970
‫Artık kule sınıfında çağrılan bir yangın fonksiyonumuz var.

170
00:13:29,970 --> 00:13:35,190
‫Yapılacak bir sonraki şey, ateş fonksiyonumuzla mermileri gerçekten ortaya çıkarmaya başlamaktır.

171
00:13:35,190 --> 00:13:38,420
‫Bir sonraki videoda bu konu hakkında konuşacağız.

172
00:13:38,430 --> 00:13:39,330
‫Yakında görüşürüz.

