‫Cześć i witaj.
‫W tym wykładzie sprawimy, że nasze komponenty wyzwalacza będą wyglądały tak, jakby były
‫puste, a kiedy włożymy gargulca, odblokuje się.
‫A jeśli znowu go wyjmę, znowu się zamknie.
‫Sposób, w jaki zamierzamy to zrobić, polega na wyciągnięciu naszej funkcjonalności do sprawdzenia, czy
‫mamy akceptowalnego aktora do jego własnej oddzielnej funkcji.
‫I dowiem się o wczesnych powrotach w ciągu czterech pętli.
‫Aby to zrobić, zanurkujmy.
‫Więc ten kawałek kodu, który mamy i komponent techniczny, już zaczyna wydawać mi się
‫funkcją.
‫Zasadniczo jest to funkcja, która otrzymuje akceptowalnego aktora, jeśli go mamy, więc możemy przejść do
‫naszego komponentu wyzwalającego kropkę H i w sekcji prywatnej utworzyć taką funkcję.
‫Jaki powinien być typ zwrotu?
‫Cóż, myślę, że powinien to być wskaźnik aktora A, który zawsze może być wskaźnikiem zerowym, jeśli nie ma akceptowalnego
‫aktora.
‫Więc możemy to nazwać pustymi nawiasami, aby uzyskać akceptację aktora.
‫Nie musimy mu nic dawać.
‫A ponieważ nie zmienia to naszej funkcji, możemy uczynić ją stałą.
‫Przejdźmy dalej i zaimplementujmy to w tym pliku sterty, przechodząc do wcięcia.
‫Daje mu to wyzwolenie okrężnicy komponentu i zastąpienie go średnikiem nawiasami klamrowymi.
‫I wtedy kod, którego potrzebujemy, jest w zasadzie zawartością komponentu tik, z wyjątkiem tego, czego nie chcemy robić, to
‫po prostu rejestrować to.
‫Odblokowaliśmy tutaj aktora.
‫To, co chcemy zrobić, to w przypadku, gdy znaleźliśmy tego aktora, zasadniczo chcemy go zwrócić.
‫Możemy to zrobić na kilka sposobów.
‫Moglibyśmy powiedzieć na początku naszej funkcji, że istnieje wskaźnik aktora, który będzie aktorem zwracającym,
‫i domyślnie ustawiamy go na wskaźnik null.
‫Więc nie ma aktora, którego wrócimy.
‫Ale kiedy przejdziemy przez naszą pętlę for i w końcu znajdziemy aktora, który
‫ma akceptowalny tag, wtedy możemy powiedzieć: Hej, aktor zwracający powinien w rzeczywistości wskazywać na wskaźnik aktora, który znaleźliśmy tutaj w
‫tablicy.
‫A potem, pod koniec pętli for, po zakończeniu pełnej pętli, przejrzeliśmy wszystkich aktorów.
‫Możemy iść dalej i zwrócić zmienną aktora powrotu, ponieważ jest to właściwy typ.
‫W porządku.
‫Ale wymaga od nas stworzenia zmiennej, a także przejścia przez całą pełną pętlę,
‫nawet jeśli już znaleźliśmy akceptowalnego aktora.
‫Więc lepszym sposobem na zrobienie tego jest skorzystanie z wcześniejszego zwrotu.
‫Widzieliśmy już tego typu rzeczy w Chwytam CP, gdzie to zrobiliśmy.
‫Jeśli uchwyty fizyki są równe małemu wskaźnikowi, to wracamy i reszta komponentu nie musi
‫działać.
‫Możemy również użyć tego samego rodzaju wydajności do skoków.
‫Więc zamierzam zrobić, jeśli znajdziemy odpowiedniego aktora, zrobimy po prostu aktora powracającego.
‫Dosłownie zwracamy wskaźnik, który właśnie znaleźliśmy w tej pętli for, a reszta pętli for
‫nie musi działać.
‫Jeśli jednak przejdziemy do końca pętli for i nic nie znaleźliśmy, nic nie
‫zwróciliśmy, powrót zatrzyma pętlę for, opuści funkcję.
‫Ale jeśli dojdziemy do końca, musimy domyślnie coś zwrócić i tutaj możemy po prostu zwrócić
‫wskaźnik null.
‫Więc to jest wartość domyślna.
‫Oznacza to, że przeszliśmy przez całą pętlę for.
‫Widzieliśmy, że nie ma akceptowalnego aktora.
‫Żaden z aktorów nie nakładał się na nas.
‫Z poprawną metką.
‫Więc zwracamy pusty wskaźnik.
‫Więc teraz oznacza to, że mam tę zbędną zmienną aktora powrotu, której mogę się pozbyć.
‫A to czyta się naprawdę całkiem czysto.
‫Przechodzimy, zbieramy nakładających się aktorów, robimy nad nimi pełną pętlę.
‫Jeśli każdy aktor, który go testujemy, czy został oznaczony jako akceptowalny tag?
‫Jeśli tak, zatrzymujemy się właśnie tam.
‫Zwracamy ten jeden.
‫Jeśli żaden z nich go nie ma, zwracamy wskaźnik null.
‫Więc rzućmy wyzwanie, aby zalogować się, jeśli znajdziemy aktora.
‫Wywołaj więc naszą funkcję w swoim komponencie tikowym.
‫Sprawdź, czy wskaźnik ma wartość null i zaloguj się w obu przypadkach, niezależnie od tego, czy mamy aktora, czy nie
‫używamy instrukcji F i else.
‫Wstrzymaj wideo i spróbuj.
‫Dobra.
‫Witamy spowrotem.
‫Wróćmy więc do naszych komponentów technicznych.
‫To, co zrobimy, to utworzymy zmienną, wskaźnik aktora, który będzie aktorem, co
‫jest równe uzyskaniu akceptowalnego aktora, który zamierzamy zrobić.
‫Jeśli aktor nie jest równy wskaźnikowi null, wtedy w treści tego zrobimy odblokowanie okna dialogowego, a następnie w innym logowanym
‫tym razem, ponieważ jest to zachowanie, które chcę, aby nasz składnik wyzwalacza i przeniósł go
‫razem, aby mieć to jeśli masz tam gargulca, odblokuje się.
‫Będzie używał movera i ponownie się blokuje, jeśli zasadniczo odznaczymy pole wyboru podczas
‫przenoszenia, jeśli usuniemy gargulca, więc skompilujmy to.
‫Więc chodźmy dalej i włączmy odtwarzanie.
‫Widać, że jest ponownie blokowany, ponieważ nie mamy tam gargulca.
‫Podnieś gargulca, przyprowadź go i gotowe.
‫Teraz odblokowuje, wyjmij go i ponownie blokuje odblokowywanie, wyglądając idealnie.
‫Jeśli wejdę do środka, nic się nie dzieje.
‫To tylko ponowne blokowanie.
‫Udało nam się więc dowiedzieć, czy mamy coś w naszym komponencie wyzwalającym, czy
‫nie.
‫Teraz musimy tylko zmusić go do zrobienia czegoś.
‫I to będzie tematem następnego wykładu.
‫Zobaczę to.