Tekrar: FindNearest
Coddy'nin Unity Journey'sinin Unity'de Oyun Mimarisi bölümünün bir parçası. Ders 36 / 50.
Görev
OrtaBir temizlik robotu mücevherleri toplar, ardından şarj olmaya gider. Gem ve ChargePad boş işaretleyici betikleridir (hazırdır) ve robotun, onu bir noktaya doğru ilerleten ve oraya vardığında true döndüren MoveTo(point) yöntemi vardır; bu yöntem speed hızında hareket eder.
Helpers.csdosyasında, herhangi bir bileşen türü içinFindNearest<T>(IEnumerable<T> items, Vector3 from)genel yöntemini içeren statik birHelperssınıfı yaz. Yöntem, konumufromnoktasına en yakın olan öğeyi döndürür; öğe yoksa null döndürür.Robot.csdosyasında robot, her karede bulunduğu konumdan sahnedeki en yakın mücevhere yönelir ve oraya vardığında mücevheri yok eder.- Hiç mücevher kalmadığında robot en yakın
ChargePad'e yönelir. VardığındaChargingmesajını bir kez günlüğe yazar ve orada kalır.
Hem mücevherler hem de şarj pedleri için FindNearest kullan. Play'e bas, robotu izle, ardından Check'e bas.
Kendin dene
using System.Collections.Generic;
using UnityEngine;
// Helpers.FindNearest<T>: bir noktaya en yakın öğe veya null
Unity'de Oyun Mimarisi bölümündeki tüm dersler
1Hiyerarşiler Değil, Bileşenler
Küçük BileşenlerTemel Bir Düşman BetiğiSoyut BileşenlerBirlikte Çalışan BileşenlerÖzet: Modüler Taret4Serileştirilmiş Veriler
Serileştirilebilir SınıflarInspector'da ListelerInspector'da Enum'larÖzet: Ganimet Tablosu7Durum Makineleri
Sınıflar Olarak DurumlarBir Durum MakinesiGeçişlerDüşmanların Yapay ZekâsıTekrar: Kapı Durumları10Proje: Arena Hayatta Kalma
KahramanDüşman Türleri5ScriptableObjects
Veri VarlıklarıSilah İstatistikleriPaylaşılan AyarlarVeri Olarak DalgalarTekrar: Eşya Veritabanı8Yeniden Kullanılabilir Kod
Genişletme MetotlarıGeneric SingletonGeneric YardımcılarTekrar: FindNearest