private void Shoot() { if (isReloadAnimFinished && clipAmmoCount > 0) { animator.SetTrigger("gunSpin"); UseAmmo(); player.AddImpact(-fpsCam.transform.forward, backFireAmount); RaycastHit hitInfo; if (Physics.Raycast(fpsCam.transform.position, fpsCam.transform.forward, out hitInfo, range)) { DestroyableObject destroyableObject = hitInfo.transform.GetComponent <DestroyableObject>(); Enemy enemy = hitInfo.transform.GetComponentInParent <Enemy>(); if (hitInfo.transform.gameObject.tag == "DestroyableObject") { destroyableObject.gameObject.GetComponent <BoxCollider>().enabled = false; destroyableObject.ExplodeObject(); } else if (hitInfo.transform.gameObject.tag == "Enemy") { enemy.TakeDamage(damage); } } } }