Menu
CoddyTech

Kule Verileri

Coddy'nin Unity Oyunu: Kule Savunması kursunda ders 14 / 25.

İkinci bir kule geliyor: Cannon; kendine ait sayısal değerleri var. Düşmanlarda olduğu gibi, istatistikler tür başına bir tane olacak şekilde bir varlığa, TowerData'ya taşınıyor: projede ArrowData var (maliyet 50, hasar 2, menzil 4.5, fireRate 1.5). Prefab, kulenin nasıl göründüğünü belirler; Tower betiği de onun varlığına işaret eder.

Bir ScriptableObject sınıfının üzerindeki [CreateAssetMenu], sınıfı Unity'nin Create menüsüne ekler; böylece Editor'da yeni varlıklar oluşturulabilir. Düşmanların varlığında bu özellik var:

[CreateAssetMenu(fileName = "NewEnemy", menuName = "Tower Defense/Enemy Data")]
public class EnemyData : ScriptableObject
challenge icon

Görev

Orta

Her kulenin istatistiklerini bir TowerData varlığına taşı.

  1. TowerData.cs içinde [CreateAssetMenu] öğesini ve towerName (bir string), cost ve damage (int), range ve fireRate (float) genel alanlarını ekle.
  2. Tower içinde bu dört alanı public TowerData data; ile değiştir ve data.range, data.damage ve data.fireRate değerlerini oku.
  3. BuildManager içinde towerPrefab.data.cost kadar ödeme yap.

“Oyna” düğmesine bas: Arrow, artık ArrowData üzerinden olmak üzere, önceki gibi savaşır. Ardından “Kontrol et” düğmesine bas.

Kendin dene

using UnityEngine;

// Daha sonra eklenecek: bir kule türünün istatistikleri, bir asset olarak.
public class TowerData : ScriptableObject
{
}

Unity Oyunu: Kule Savunması bölümündeki tüm dersler

Kendi başına pratik yap: Unity playground