Wzmocnienia
Część sekcji Architektura gier w Unity ścieżki Unity w Coddy. Lekcja 45 z 50.
Wyzwanie
ŚredniWzmocnienia. Zachowaj wszystko z wcześniejszych lekcji. Na arenie leżą serce i tarcza, a prefabrykaty Heart i Shield są gotowe do upuszczenia przez fale. Wszystko, co bohater może podnieść, implementuje jeden interfejs, więc bohater nie musi znać poszczególnych rodzajów przedmiotów.
IPickupdeklaruje jedną metodę:void Collect(Hero hero);.Heartimplementuje ten interfejs, a wartośćamount(2) pobiera z Inspektora: leczy bohatera oamounti niszczy sam siebie.Shieldimplementuje ten interfejs, a wartośćduration(5) pobiera z Inspektora: chroni bohatera przed każdym trafieniem przezdurationsekund i niszczy sam siebie.Herootrzymuje metodępublic void Heal(int amount), która zwiększa zdrowie, ale nigdy ponadmaxHealth, i zapisuje zdrowie w logu tak jak przy otrzymaniu trafienia; poległy bohater nie może zostać uleczony. Otrzymuje też metodępublic void Protect(float seconds), która chroni go przed trafieniami do upływusecondssekund od teraz, tak jak robi tosafeTimeprzy trafieniu. Otrzymuje także metodęOnTriggerEnter: gdy dotknięty obiekt ma komponentIPickup, wywołuje na nimCollect(this).CharacterControllerodbiera komunikaty o wyzwalaczach bezRigidbody.- Każda fala
Waveotrzymuje polepublic GameObject reward. Inspektor nie może wyświetlić pola typu interfejsu, więc pole przechowuje prefabrykat jakoGameObject. Po pokonaniu fali, przed przerwą, spawner upuszcza nagrodę tej fali, jeśli ją ma, we własnej pozycji na środku areny. Zasób przypisuje falę 1 do Heart, a falę 2 do Shield.
Naciśnij Play, pokonaj falę i podnieś jej nagrodę, a następnie naciśnij Check.
Spróbuj swoich sił
// W późniejszej lekcji zostanie to uzupełnione: wszystko, co bohater może podnieść.
public interface IPickup
{
}
Wszystkie lekcje w sekcji Architektura gier w Unity
1Komponenty, nie hierarchie
Małe komponentyPodstawowy skrypt przeciwnikaKomponenty abstrakcyjneWspółpracujące komponentyPodsumowanie: modułowa wieżyczka4Dane serializowane
Klasy serializowalneListy w InspectorzeWyliczenia w InspectorzePodsumowanie: tabela łupów10Projekt: Arena przetrwania
BohaterTypy wrogów2Interfejsy w Unity
IDamageableInterfejsy i TryGetComponentGetComponentsPodsumowanie: klawisz interakcji5ScriptableObjects
Zasoby danychStatystyki broniWspółdzielone ustawieniaFale jako danePowtórka: baza danych przedmiotów8Kod wielokrotnego użytku
Metody rozszerzająceGeneryczny singletonGeneryczne metody pomocniczePodsumowanie: FindNearest