Diziler benzeri listeler oluşturabilirsiniz. Yönetimi daha kolay ve geçici objelerin takibini yapmak, liste içindeki değeri, objeyi kaldırmak vb. konusunda array() kullanımından bir tık daha iyi diyebilirim. Şimdi örneklere geçelim. Örneğin herkese açık bir Transform listesi oluşturalım.
public list<GameObject> DusmanListesi;
Şimdi bu listeye bir ekleme yapalım. Oyun sahnemizde yer alan ve etiketi "enemy" olan tüm düşmanları bu listemize ekleyelim.
//enemy tagına sahip tüm objeleri bir dizinin içine ekledik.
GameObject[] dusmanlar = GameObject.FindGameObjectsWithTag("enemy");
//dusmanlar isimli dizi sayısı kadar dönen bir for döngüsü oluşturduk ve her elemanı Dusmanlistesine ekledik.
for(int i=0; i < dusmanlar.Length; i++)
{
Dusmanlistesi.Add(dusmanlar[i]);
}
Şimdi etkileşime geçtiğimiz(Raycast) ile collider çarpışması gerçekleştirdiğimiz düşman nesnesini listemizden silelim. Burasını zaten burada anlatmıştım. O nedenle tekrarlamayacağım. Diyelimki etkileşimde olduğumuz nesneye hit ismini verdik.
Dusmanlistesi.RemoveAt(hit);
eklediğimizde o objeyi listemizin içerisinden silecek, fakat obje oyunda durmaya devam edecek. Şimdi liste için kullanabileceğimiz diğer seçeneklere bakalım; Bir listenin uzunluğunu nasıl buluruz mesela.
Dusmanlistesi.Count
Listemizdeki tüm objelerin toplam sayısını verir. Dizilerdeki uzunluk hesaplaması gibi. Bir listenin içini komple boşaltmak(empty) için de Clear kullanıyoruz.
Dusmanlistesi.Clear();
Daha fazla faydalı içerik için bu bağlantıyı ziyaret edebilirsiniz.
Bu yazıya henüz bir yorum yapılmamış, hemen bir tane yapmak ister misin ?