public virtual void Shoot() { Transform cam = gunner.GetComponentInChildren <Camera>().transform.FindChild("GunBarrell"); if (cam != null && MuzzleEffect != null) { MuzzleEffect.ShowMuzzleEffect(cam, true, null); } if (sounds.Length > 0) { AudioSource.PlayClipAtPoint(sounds[0], transform.position); } }
void fireCannon(Vector3 hitPos, Vector3 hitNormal, float distance) { MuzzleEffect.ShowMuzzleEffect(Cannon.transform, true, Audio); TracerEffect.ShowTracerEffect(Cannon.transform.position, Cannon.transform.forward, distance); if (hitNormal != Vector3.zero) { ImpactEffect.ShowImpactEffect(hitPos, hitNormal); } Collider[] colliders = Physics.OverlapSphere(hitPos, 2f); foreach (Collider c in colliders) { Rigidbody rb = c.GetComponent <Rigidbody>(); if (rb) { rb.AddExplosionForce(600f, hitPos, 2f); } } }