Menu
CoddyTech

Güçlendirmeler

Coddy'nin Unity Journey'sinin Unity'de Oyun Mimarisi bölümünün bir parçası. Ders 45 / 50.

challenge icon

Görev

Orta

Güçlendirmeler. Önceki derslerdeki her şeyi koruyun. Arenada bir kalp ve bir kalkan bulunuyor; Heart ve Shield prefab'ları dalgalar sırasında düşürülmeye hazır. Kahramanın alabileceği her şey aynı arayüzü uygular, böylece kahramanın türleri bilmesi gerekmez.

  • IPickup, void Collect(Hero hero); yöntemini bildirir.
  • Heart bunu uygular; Inspector'dan amount (2) değerini alır: kahramanı amount kadar iyileştirir ve kendisini yok eder.
  • Shield bunu uygular; Inspector'dan duration (5) değerini alır: kahramanı duration saniye boyunca her türlü darbeye karşı korur ve kendisini yok eder.
  • Hero, sağlığa ekleme yapan ancak sağlığı hiçbir zaman maxHealth değerinin üzerine çıkarmayan ve bir darbe olduğunda olduğu gibi sağlığı kaydeden public void Heal(int amount) yöntemini alır; düşmüş bir kahraman iyileştirilmez. Ayrıca, darbenin safeTime süresi gibi kahramanı şu andan itibaren seconds süresince darbelere karşı koruyan public void Protect(float seconds) yöntemini alır. Bunun yanında OnTriggerEnter da eklenir: kahramanın dokunduğu nesnede bir IPickup varsa, bu nesne üzerinde Collect(this) çağrısı yapar. CharacterController, Rigidbody olmadan tetikleme mesajları alır.
  • Her Wave, bir public GameObject reward alır. Inspector, arayüz türündeki bir alanı gösteremez; bu nedenle alan prefab'ı bir GameObject olarak tutar. Bir dalga yenildiğinde, dinlenme süresinden önce, dalganın ödülü varsa spawner bu ödülü arenanın ortasındaki kendi konumuna bırakır. Varlık, 1. dalgaya bir Heart, 2. dalgaya ise bir Shield verir.

Play'e basın, bir dalgayı temizleyip ödülünü alın, ardından Check'e basın.

Kendin dene

// Daha sonraki bir derste bunun içi doldurulacak: kahramanın alabileceği her şey.
public interface IPickup
{
}

Unity'de Oyun Mimarisi bölümündeki tüm dersler