‫Merhaba ve hoş geldiniz.
‫Bu derste tetikleyici bileşenimizin boş bir alan olduğunda yeniden kilitlenmesini sağlayacağız
‫ve gargoyle'u yerleştirdiğimizde kilidi açacak.
‫Ve eğer tekrar çıkarırsam, tekrar kilitlenecek.
‫Bunu yapmanın yolu, kabul edilebilir bir aktörümüz olup olmadığını bulma
‫işlevimizi kendi ayrı işlevine çekmektir.
‫Ve dört döngü içinde erken dönüşler hakkında bilgi edineceğiz.
‫Bunu yapmak için, hadi içeri dalalım.
‫Dolayısıyla, teknoloji bileşeninde sahip olduğumuz bu kod yığını bana şimdiden bir fonksiyon gibi gelmeye başladı.
‫Esasen, eğer varsa, kabul edilebilir aktörü ele geçiren bir işlevdir, böylece tetikleyici bileşenimize
‫geçebiliriz.
‫Ve özel bölüm altında böyle bir işlev oluşturun.
‫Şimdi, dönüş türü ne olmalıdır?
‫Bence bu bir A aktör işaretçisi olmalı, eğer kabul edilebilir bir aktör yoksa her zaman null işaretçi olabilir.
‫Böylece bu get acceptable actor boş parantezini çağırabiliriz.
‫Ona bir şey vermemize gerek yok.
‫Ve işlevimizi değiştirmediği için onu const yapabiliriz.
‫Devam edelim ve bunu CPP dosyasında uygulayalım.
‫Girinti yapacağız, tetikleyici bileşen olarak iki nokta üst üste, iki nokta üst üste koyacağız ve noktalı virgülü parantezlerle değiştireceğiz.
‫Ve sonra istediğimiz kod temel olarak tic bileşeninin içeriğidir, ancak yapmak istemediğimiz şey sadece burada
‫aktörün kilidini açtığımızı günlüğe kaydetmektir.
‫Yapmak istediğimiz şey, bu aktörü bulduğumuz durumda, esasen onu iade etmek istiyoruz.
‫Bunu yapabilmemizin birkaç yolu var.
‫Fonksiyonumuzun başında, geri dönüş aktörü olacak bir aktör işaretçisi olduğunu söyleyebiliriz
‫ve varsayılan olarak bunu null işaretçisine ayarlarız.
‫Yani geri döneceğimiz bir aktör yok.
‫Ancak for döngümüzden geçtiğimizde ve sonunda kabul edilebilir etikete sahip
‫bir aktör bulduğumuzda, Hey, geri dönen aktör aslında burada dizimizde bulduğumuz aktör işaretçisini göstermelidir
‫diyebiliriz.
‫Ve sonra for döngüsünün sonunda, for döngüsü bittikten sonra, tüm aktörleri gözden geçirdik.
‫Devam edip return actor değişkenini döndürebiliriz çünkü bu doğru türdür.
‫Sorun değil.
‫Ancak bir değişken oluşturmamızı ve ayrıca kabul edilebilir bir aktör bulmuş olsak bile tüm
‫for döngüsünü çalıştırmamızı gerektirir.
‫Bu yüzden bunu yapmanın daha iyi bir yolu erken iade kullanmaktır.
‫Ve bu tür bir şeyi daha önce de CP'yi yakaladığımız yerde görmüştük.
‫Fizik tutamaçları boş bir işaretçiye eşitse, geri döneriz ve tik bileşeninin geri kalanının çalışması
‫gerekmez.
‫Aynı verimliliği for döngülerinde de kullanabiliriz.
‫Yapacağım şey, eğer kabul edilebilir aktörü bulduysak, sadece bir geri dönüş aktörü yapmak olacak.
‫Tam anlamıyla bu for döngüsünde bulduğumuz işaretçiyi geri döndürüyoruz ve for döngüsünün geri kalanının
‫çalışması gerekmiyor.
‫Ancak, for döngüsünün sonuna kadar gidersek ve hiçbir şey bulamazsak, hiçbir şey döndürmemiş oluruz,
‫return for döngüsünü durdurur, fonksiyonu terk eder.
‫Ancak sonuna geldiğimizde, varsayılan olarak bir şey döndürmemiz gerekir.
‫Burada sadece null pointer döndürebiliriz.
‫Yani bu varsayılan değerdir.
‫Bu, tüm for döngüsünü tamamladığımız anlamına gelir.
‫Kabul edilebilir bir aktör olmadığını gördük.
‫Üst üste bindiğimiz aktörlerin hiçbiri öyle değil.
‫Doğru etiketle.
‫Bu yüzden null pointer döndürüyoruz.
‫Şimdi bu, devam edip kurtulabileceğim bu gereksiz dönüş aktörü değişkenine sahip olduğum anlamına geliyor.
‫Ve bu gerçekten oldukça temiz bir şekilde okunuyor.
‫Üzerinden geçiyoruz, çakışan aktörleri alıyoruz, üzerlerinde tam bir döngü yapıyoruz.
‫Eğer her bir aktörü test edersek, kabul edilebilir etikete sahip mi?
‫Eğer öyleyse, orada duracağız.
‫Bunu iade ediyoruz.
‫Hiçbirinde yoksa, null işaretçi döndürürüz.
‫O halde aktörü bulup bulmadığımızı kaydetmeniz için size meydan okuyalım.
‫Bu yüzden fonksiyonumuzu tik bileşeninizde çağırın.
‫İşaretçinin null olup olmadığını kontrol edin ve bir if ve bir else deyimi kullanarak hem bir aktörümüz olup olmadığını hem de
‫her iki durumda da günlüğe kaydedin.
‫Videoyu duraklatın ve deneyin.
‫KAYE.
‫Tekrar hoş geldiniz.
‫Şimdi teknik bileşenlerimize geçelim.
‫Yapacağımız şey, kabul edilebilir aktör elde etmeye eşit olan aktör
‫olacak bir değişken, bir aktör işaretçisi oluşturmaktır.
‫Sonra if actor not equal to null pointer yapacağız, sonra bunun gövdesinde bir u log unlocking yapacağız
‫ve sonra else'de bu sefer yeniden kilitlemeyi loglayacağız çünkü tetikleyici bileşenimizin ve birlikte hareket ettirmemizin sahip olmasını
‫istediğim davranış bu, eğer orada çirkin adam varsa, kilidi açılacak, taşıyıcıyı
‫kullanacak ve eğer çirkin adamı kaldırırsak temel olarak taşıma üzerindeki onay kutusunun işaretini
‫kaldırırsak yeniden kilitlenecek.
‫Şimdi bunu derleyelim.
‫O zaman devam edelim ve oynat tuşuna basalım.
‫Yeniden kilitlendiğini görebilirsiniz çünkü orada bir gargoyle yok.
‫Gargoyle'u al ve buraya getir.
‫Ve işte oldu.
‫Şimdi kilidi açıyor, çıkarıyor ve tekrar kilitliyor, tekrar kilitliyor.
‫Mükemmel.
‫İçeri girersem hiçbir şey olmuyor.
‫Sadece yeniden kilitleniyor.
‫Böylece tetikleyici bileşenimizde bir şey olup olmadığını başarılı bir şekilde öğrenebildik.
‫Şimdi sadece bir şeyler yapmasını sağlamamız gerekiyor.
‫Bu da bir sonraki dersin konusu olacak.
‫Orada görüşürüz.