//eğer saldıran objenin bir hedefi var ise girilen zararMiktarı kadar zarar veriyor //bu fonksiyon animasyonun içinde çağrılıyor public void ZararVer(float zararMiktari) { if (mevcutHedef) { Saglik saglik = mevcutHedef.GetComponent <Saglik>(); if (saglik) { saglik.ZaralAl(zararMiktari); } } }
private void OnTriggerEnter2D(Collider2D collision) { //eğer mermimiz bir objeye çarparsa bu fonksiyon tetiklenecek //mermimiz Saldıranlar programına<scriptine> sahip bir objeye mi çarptı? çarptığı objenin //sağlığını kontrol eden Saglık programına<scriptine> sahip mi? //bunları öğrenmek için bir değişkine atıyorum eğer yoksa değişkene null atıyacak Saldiranlar saldiranObje = collision.gameObject.GetComponent <Saldiranlar>(); Saglik saldiranObjeninSagligi = collision.gameObject.GetComponent <Saglik>(); //eğer saldıran obje ve saldıranObjeninSağligi objesi null ise düşmana çarpmamıştır(mermi mermiye çarpmış olabilir) //eğer objeler null değil ise if bloğu çalışıcak if (saldiranObje && saldiranObjeninSagligi) { //merminin saldırdığı değdiği objeinin canını azaltıyorum saldiranObjeninSagligi.ZaralAl(verdigiZarar); //mermiyi yok ediyorum Destroy(gameObject); } }