Menu
CoddyTech

Peningkat Kekuatan

Termasuk bagian Arsitektur Game di Unity dalam perjalanan Unity di Coddy. Pelajaran 45 dari 50.

challenge icon

Tantangan

Sedang

Power-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.

  • IPickup mendeklarasikan satu method, void Collect(Hero hero);.
  • Heart menerapkannya, dengan amount (2) dari Inspector: item ini memulihkan health hero sebesar amount dan menghancurkan dirinya sendiri.
  • Shield menerapkannya, dengan duration (5) dari Inspector: item ini melindungi hero dari setiap serangan selama duration detik dan menghancurkan dirinya sendiri.
  • Hero mendapatkan public void Heal(int amount), yang menambah health tetapi tidak pernah melebihi maxHealth, dan mencatat health seperti saat hero terkena serangan; hero yang tumbang tidak bisa dipulihkan. Hero juga mendapatkan public void Protect(float seconds), yang melindunginya dari serangan sampai seconds dari sekarang, seperti fungsi safeTime saat hero terkena serangan. Hero juga mendapatkan OnTriggerEnter: saat sesuatu yang disentuhnya memiliki IPickup, hero memanggil Collect(this) pada item itu. CharacterController menerima pesan trigger tanpa Rigidbody.
  • Setiap Wave mendapatkan public 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