Peningkat Kekuatan
Termasuk bagian Arsitektur Game di Unity dalam perjalanan Unity di Coddy. Pelajaran 45 dari 50.
Tantangan
SedangPower-up. Pertahankan semua hal dari pelajaran sebelumnya. Sebuah hati dan perisai tergeletak di arena, dan prefab Heart serta Shield siap dijatuhkan oleh wave. Semua yang bisa diambil hero menerapkan satu interface, jadi hero tidak perlu mengetahui jenis-jenisnya.
IPickupmendeklarasikan satu method,void Collect(Hero hero);.Heartmenerapkannya, denganamount(2) dari Inspector: item ini memulihkan health hero sebesaramountdan menghancurkan dirinya sendiri.Shieldmenerapkannya, denganduration(5) dari Inspector: item ini melindungi hero dari setiap serangan selamadurationdetik dan menghancurkan dirinya sendiri.Heromendapatkanpublic void Heal(int amount), yang menambah health tetapi tidak pernah melebihimaxHealth, dan mencatat health seperti saat hero terkena serangan; hero yang tumbang tidak bisa dipulihkan. Hero juga mendapatkanpublic void Protect(float seconds), yang melindunginya dari serangan sampaisecondsdari sekarang, seperti fungsisafeTimesaat hero terkena serangan. Hero juga mendapatkanOnTriggerEnter: saat sesuatu yang disentuhnya memilikiIPickup, hero memanggilCollect(this)pada item itu. CharacterController menerima pesan trigger tanpa Rigidbody.- Setiap
Wavemendapatkanpublic GameObject reward. Inspector tidak bisa menampilkan field dengan tipe interface, jadi field tersebut menyimpan prefab sebagai GameObject. Saat sebuah wave dikalahkan, sebelum waktu istirahat, spawner menjatuhkan reward wave tersebut, jika ada, di posisinya sendiri di tengah arena. Asset tersebut memberikan Heart untuk wave 1 dan Shield untuk wave 2.
Tekan Play, kalahkan satu wave dan ambil reward-nya, lalu tekan Check.
Coba sendiri
// Pelajaran berikutnya akan mengisi ini: apa pun yang bisa dipungut sang pahlawan.
public interface IPickup
{
}
Semua pelajaran di Arsitektur Game di Unity
1Komponen, Bukan Hierarki
Komponen KecilSkrip Dasar MusuhKomponen AbstrakKomponen yang Bekerja SamaRingkasan: Turret Modular4Data Terserialisasi
Class yang Dapat DiserialisasiList di InspectorEnum di InspectorRingkasan: Tabel Loot10Proyek: Penyintas Arena
Sang PahlawanJenis Musuh5ScriptableObjects
Aset DataStatistik SenjataPengaturan BersamaGelombang sebagai DataUlasan: database Item8Kode yang Dapat Digunakan Kembali
Extension methodSingleton GenerikHelper GenerikUlasan: FindNearest