Podsumowanie: FindNearest
Część sekcji Architektura gier w Unity ścieżki Unity w Coddy. Lekcja 45 z 64.
W tym rozdziale napisaliśmy kod, który działa z każdym typem: metody rozszerzające, generyczną klasę bazową i generyczne funkcje pomocnicze. Tutaj jedno wyszukiwanie generyczne znajduje zarówno klejnoty, jak i platformy ładujące.
Wyzwanie
ŚredniWyślij robota do klejnotów, zaczynając od najbliższego, a potem do punktu ładowania.
- W
Helpers.csnapisz klasę statycznąHelpersz publiczną metodąFindNearest<T>(IEnumerable<T> items, Vector3 from)dla komponentów: zwróć najbliższy element albonull. - W
Robotw każdej klatce kieruj się za pomocąMoveTodo najbliższegoGemi zniszcz go po dotarciu. - Gdy nie zostaną już żadne klejnoty, idź do najbliższego
ChargePad, raz wyświetl w dziennikuChargingi pozostań na miejscu.
Naciśnij „Graj”: robot zbierze klejnoty. Następnie naciśnij „Sprawdź”.
Spróbuj swoich sił
using System.Collections.Generic;
using UnityEngine;
// Helpers.FindNearest<T>: element najbliższy danemu punktowi lub null
Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.
Wszystkie lekcje w sekcji Architektura gier w Unity
1Komponenty, nie hierarchie
Małe komponentyBazowy skrypt przeciwnikaKomponenty abstrakcyjneWspółpracujące komponentyPowtórka: modułowa wieżyczkaPowtórka: podwójne działo4Dane serializowane
Klasy serializowalneListy w InspectorzeEnumy w InspectorzePodsumowanie: tabela łupówPodsumowanie: losowanie łupów2Interfejsy w Unity
IDamageableInterfejsy i TryGetComponentGetComponentsPowtórka: klawisz interakcjiPowtórka: najbliższy w zasięgu5ScriptableObjects
Zasoby danychStatystyki broniWspółdzielone ustawieniaOcal wiatrFale jako danePowtórka: Baza przedmiotówPowtórka: Kupowanie w sklepie8Kod wielokrotnego użytku
Metody rozszerzająceGeneryczny singletonGeneryczne metody pomocniczePodsumowanie: FindNearestPoćwicz samodzielnie: Edytor online Unity