private void Explode() { Collider[] colliders = Physics.OverlapSphere(transform.position, ExplosionRadius, ObjectMask); foreach (Collider collider in colliders) { Rigidbody targetRigidbody = collider.GetComponent <Rigidbody>(); if (targetRigidbody != null) { targetRigidbody.AddExplosionForce(ExplosionForce, transform.position, ExplosionRadius, 0.05f); BoatHealth targetHealth = targetRigidbody.GetComponent <BoatHealth>(); if (targetHealth != null) { targetHealth.TakeDamage(CalculateDamage(targetRigidbody.position)); } } } explosionAudio.Play(); var impact = Instantiate(ImpactPrefab, transform.position, transform.rotation); Destroy(impact, 1); GetComponent <MeshRenderer>().enabled = false; GetComponent <Collider>().enabled = false; Destroy(gameObject, 0.5f); }