private bool IsZombie() { if (zombie == null) { zombie = GetComponent <ZombieHerbivoreBehaviour>(); } if (zombie == null || !zombie.HasAlreadyTurned) { return(false); } return(true); }
private void ShootZombieDisease(Vector3 position) { RaycastHit2D[] hits = Physics2D.CircleCastAll(position, radius * 2, Vector3.zero); foreach (RaycastHit2D hit in hits) { HerbivoreBehaviour herbivore = hit.collider.GetComponent <HerbivoreBehaviour>(); if (herbivore == null || herbivore.GetComponent <ZombieHerbivoreBehaviour>() != null) { continue; } ZombieHerbivoreBehaviour zombie = herbivore.gameObject.AddComponent <ZombieHerbivoreBehaviour>(); GameObject diseaseEffect = Instantiate(diseaseEffectPrefab, hit.collider.transform.position, transform.rotation, hit.collider.transform); zombie.DiseaseEffect = diseaseEffect; } }
public void Die() { ZombieHerbivoreBehaviour zombie = GetComponent <ZombieHerbivoreBehaviour>(); if (zombie != null && !zombie.HasAlreadyTurned) { zombie.TurnIntoZombie(); return; } if (cadaverPrefab != null) { Instantiate(cadaverPrefab, transform.position, transform.rotation); } Destroy(gameObject); }